FileDocCategorySizeDatePackage
FieldPosition.javaAPI DocJava SE 5 API9250Fri Aug 26 14:57:20 BST 2005java.text

FieldPosition

public class FieldPosition extends Object
FieldPosition is a simple class used by Format and its subclasses to identify fields in formatted output. Fields can be identified in two ways:
  • By an integer constant, whose names typically end with _FIELD. The constants are defined in the various subclasses of Format.
  • By a Format.Field constant, see ERA_FIELD and its friends in DateFormat for an example.

FieldPosition keeps track of the position of the field within the formatted output with two indices: the index of the first character of the field and the index of the last character of the field.

One version of the format method in the various Format classes requires a FieldPosition object as an argument. You use this format method to perform partial formatting or to get information about the formatted output (such as the position of a field).

If you are interested in the positions of all attributes in the formatted string use the Format method formatToCharacterIterator.

version
1.21 12/19/03
author
Mark Davis
see
java.text.Format

Fields Summary
int
field
Input: Desired field to determine start and end offsets for. The meaning depends on the subclass of Format.
int
endIndex
Output: End offset of field in text. If the field does not occur in the text, 0 is returned.
int
beginIndex
Output: Start offset of field in text. If the field does not occur in the text, 0 is returned.
private Format$Field
attribute
Desired field this FieldPosition is for.
Constructors Summary
public FieldPosition(int field)
Creates a FieldPosition object for the given field. Fields are identified by constants, whose names typically end with _FIELD, in the various subclasses of Format.

see
java.text.NumberFormat#INTEGER_FIELD
see
java.text.NumberFormat#FRACTION_FIELD
see
java.text.DateFormat#YEAR_FIELD
see
java.text.DateFormat#MONTH_FIELD


                                           
       
        this.field = field;
    
public FieldPosition(Format$Field attribute)
Creates a FieldPosition object for the given field constant. Fields are identified by constants defined in the various Format subclasses. This is equivalent to calling new FieldPosition(attribute, -1).

param
attribute Format.Field constant identifying a field
since
1.4

        this(attribute, -1);
    
public FieldPosition(Format$Field attribute, int fieldID)
Creates a FieldPosition object for the given field. The field is identified by an attribute constant from one of the Field subclasses as well as an integer field ID defined by the Format subclasses. Format subclasses that are aware of Field should give precedence to attribute and ignore fieldID if attribute is not null. However, older Format subclasses may not be aware of Field and rely on fieldID. If the field has no corresponding integer constant, fieldID should be -1.

param
attribute Format.Field constant identifying a field
param
fieldID integer constantce identifying a field
since
1.4

        this.attribute = attribute;
        this.field = fieldID;
    
Methods Summary
public booleanequals(java.lang.Object obj)
Overrides equals

        if (obj == null) return false;
        if (!(obj instanceof FieldPosition))
            return false;
        FieldPosition other = (FieldPosition) obj;
        if (attribute == null) {
            if (other.attribute != null) {
                return false;
            }
        }
        else if (!attribute.equals(other.attribute)) {
            return false;
        }
        return (beginIndex == other.beginIndex
            && endIndex == other.endIndex
            && field == other.field);
    
public intgetBeginIndex()
Retrieves the index of the first character in the requested field.

        return beginIndex;
    
public intgetEndIndex()
Retrieves the index of the character following the last character in the requested field.

        return endIndex;
    
public intgetField()
Retrieves the field identifier.

        return field;
    
public java.text.Format$FieldgetFieldAttribute()
Returns the field identifier as an attribute constant from one of the Field subclasses. May return null if the field is specified only by an integer field ID.

return
Identifier for the field
since
1.4

        return attribute;
    
java.text.Format$FieldDelegategetFieldDelegate()
Returns a Format.FieldDelegate instance that is associated with the FieldPosition. When the delegate is notified of the same field the FieldPosition is associated with, the begin/end will be adjusted.

        return new Delegate();
    
public inthashCode()
Returns a hash code for this FieldPosition.

return
a hash code value for this object

        return (field << 24) | (beginIndex << 16) | endIndex;
    
private booleanmatchesField(java.text.Format$Field attribute)
Return true if the receiver wants a Format.Field value and attribute is equal to it.

        if (this.attribute != null) {
            return this.attribute.equals(attribute);
        }
        return false;
    
private booleanmatchesField(java.text.Format$Field attribute, int field)
Return true if the receiver wants a Format.Field value and attribute is equal to it, or true if the receiver represents an inteter constant and field equals it.

        if (this.attribute != null) {
            return this.attribute.equals(attribute);
        }
        return (field == this.field);
    
public voidsetBeginIndex(int bi)
Sets the begin index. For use by subclasses of Format.

since
1.2

        beginIndex = bi;
    
public voidsetEndIndex(int ei)
Sets the end index. For use by subclasses of Format.

since
1.2

        endIndex = ei;
    
public java.lang.StringtoString()
Return a string representation of this FieldPosition.

return
a string representation of this object

        return getClass().getName() +
            "[field=" + field + ",attribute=" + attribute +
            ",beginIndex=" + beginIndex +
            ",endIndex=" + endIndex + ']";