diff options
| author | Guilhem Lavaux <guilhem@kaffe.org> | 2004-04-28 19:17:08 +0000 |
|---|---|---|
| committer | Guilhem Lavaux <guilhem@kaffe.org> | 2004-04-28 19:17:08 +0000 |
| commit | b184d3647b836f417a9d479ab7102253bc4b25a0 (patch) | |
| tree | 398fcb36531d0d88b39862d2aef0e96adfd25788 /gnu/java/text/StringFormatBuffer.java | |
| parent | ae3da6828c05537a7a40663739e2e7be88365df4 (diff) | |
| download | classpath-b184d3647b836f417a9d479ab7102253bc4b25a0.tar.gz | |
2004-04-28 Guilhem Lavaux <guilhem@kaffe.org>
* gnu/java/text/FormatBuffer.java,
gnu/java/text/AttributedFormatBuffer.java,
gnu/java/text/StringFormatBuffer.java: New classes to implement
attributed iterators in java.text.
* gnu/java/text/FormatCharacterIterator.java: Moved
from java/text as it is an internal class.
* gnu/java/text/Makefile.am: Added new files to EXTRA_DIST.
* java/text/Makefile.am: Removed moved classes from EXTRA_DIST.
2004-04-28 Guilhem Lavaux <guilhem@kaffe.org>
* java/text/MessageFormat.java:
(class Field): New class.
(formatToCharacterIterator): New method.
(format): Use formatInternal now.
(formatInternal): New method. String formatter should
be done here (with attributes). Attributes merging supported.
(parse): More documentation.
(getFormatsByArgumentIndex): New method.
(setFormatByArgumentIndex): New method.
(setFormatsByArgumentIndex): New method.
2004-04-28 Guilhem Lavaux <guilhem@kaffe.org>
* java/text/SimpleDateFormat.java:
(formatWithAttribute): New method. It implements
the formatting process with attributes.
(format): Use formatWithAttribute.
(formatToCharacterIterator): New method. Use
formatWithAttribute.
2004-04-28 Guilhem Lavaux <guilhem@kaffe.org>
* java/text/DecimalFormat.java
(scanFix): Build attribute array. Fixed error reporting.
(applyPatternWithSymbols): Store attributes for the prefix and
suffix.
(formatInternal): New method. Changed the way the string is
computed. Implemented attributes. Cleant up rounding in
exponential notation.
(format): Use formatInternal.
(formatToCharacterIterator): New method.
(exponentRound, negativePrefixRanges, positivePrefixRanges,
negativePrefixAttrs, positivePrefixAttrs, negativeSuffixRanges,
positiveSuffixRanges, negativeSuffixAttrs, positiveSuffixAttrs):
New fields.
2004-04-28 Guilhem Lavaux <guilhem@kaffe.org>
* java/text/Format.java: Updated importations. Removed unnecessary
classes.
Diffstat (limited to 'gnu/java/text/StringFormatBuffer.java')
| -rw-r--r-- | gnu/java/text/StringFormatBuffer.java | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/gnu/java/text/StringFormatBuffer.java b/gnu/java/text/StringFormatBuffer.java new file mode 100644 index 000000000..ec0ed8641 --- /dev/null +++ b/gnu/java/text/StringFormatBuffer.java @@ -0,0 +1,121 @@ +/* StringFormatBuffer.java -- Implements FormatBuffer using StringBuffer. + Copyright (C) 2004 Free Software Foundation, Inc. + +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +02111-1307 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. */ +package gnu.java.text; + +import java.text.AttributedCharacterIterator; +import java.util.HashMap; + +/** + * This class is an implementation of a FormatBuffer without attributes. + * + * @author Guilhem Lavaux <guilhem@kaffe.org> + * @date April 10, 2004 + */ +public class StringFormatBuffer implements FormatBuffer +{ + private StringBuffer buffer; + private AttributedCharacterIterator.Attribute defaultAttr; + + public StringFormatBuffer(int prebuffer) + { + buffer = new StringBuffer(prebuffer); + } + + public StringFormatBuffer(StringBuffer buffer) + { + this.buffer = buffer; + } + + public void append(String s) + { + buffer.append(s); + } + + public void append(String s, AttributedCharacterIterator.Attribute attr) + { + buffer.append(s); + } + + public void append(String s, int[] ranges, HashMap[] attrs) + { + buffer.append(s); + } + + public void append(char c) + { + buffer.append(c); + } + + public void append(char c, AttributedCharacterIterator.Attribute attr) + { + buffer.append(c); + } + + public void setDefaultAttribute(AttributedCharacterIterator.Attribute attr) + { + defaultAttr = attr; + } + + public AttributedCharacterIterator.Attribute getDefaultAttribute() + { + return defaultAttr; + } + + public void cutTail(int length) + { + buffer.setLength(buffer.length()-length); + } + + public int length() + { + return buffer.length(); + } + + public void clear() + { + buffer.setLength(0); + } + + /** + * This method returns the internal {@link java.lang.StringBuffer} which + * contains the string of character. + */ + public StringBuffer getBuffer() + { + return buffer; + } +} |
