java.text
Class FieldPosition

java.lang.Object
  extended byjava.text.FieldPosition
Direct Known Subclasses:
DontCareFieldPosition

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:

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.

Author:
Mark Davis
See Also:
Format

Nested Class Summary
private  class FieldPosition.Delegate
          An implementation of FieldDelegate that will adjust the begin/end of the FieldPosition if the arguments match the field of the FieldPosition.
 
Field Summary
private  Format.Field attribute
          Desired field this FieldPosition is for.
(package private)  int beginIndex
          Output: Start offset of field in text.
(package private)  int endIndex
          Output: End offset of field in text.
(package private)  int field
          Input: Desired field to determine start and end offsets for.
 
Constructor Summary
FieldPosition(Format.Field attribute)
          Creates a FieldPosition object for the given field constant.
FieldPosition(Format.Field attribute, int fieldID)
          Creates a FieldPosition object for the given field.
FieldPosition(int field)
          Creates a FieldPosition object for the given field.
 
Method Summary
 boolean equals(Object obj)
          Overrides equals
 int getBeginIndex()
          Retrieves the index of the first character in the requested field.
 int getEndIndex()
          Retrieves the index of the character following the last character in the requested field.
 int getField()
          Retrieves the field identifier.
 Format.Field getFieldAttribute()
          Returns the field identifier as an attribute constant from one of the Field subclasses.
(package private)  Format.FieldDelegate getFieldDelegate()
          Returns a Format.FieldDelegate instance that is associated with the FieldPosition.
 int hashCode()
          Returns a hash code for this FieldPosition.
private  boolean matchesField(Format.Field attribute)
          Return true if the receiver wants a Format.Field value and attribute is equal to it.
private  boolean matchesField(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.
 void setBeginIndex(int bi)
          Sets the begin index.
 void setEndIndex(int ei)
          Sets the end index.
 String toString()
          Return a string representation of this FieldPosition.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

field

int field
Input: Desired field to determine start and end offsets for. The meaning depends on the subclass of Format.


endIndex

int endIndex
Output: End offset of field in text. If the field does not occur in the text, 0 is returned.


beginIndex

int beginIndex
Output: Start offset of field in text. If the field does not occur in the text, 0 is returned.


attribute

private Format.Field attribute
Desired field this FieldPosition is for.

Constructor Detail

FieldPosition

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 Also:
NumberFormat.INTEGER_FIELD, NumberFormat.FRACTION_FIELD, DateFormat.YEAR_FIELD, DateFormat.MONTH_FIELD

FieldPosition

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).

Parameters:
attribute - Format.Field constant identifying a field
Since:
1.4

FieldPosition

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.

Parameters:
attribute - Format.Field constant identifying a field
fieldID - integer constantce identifying a field
Since:
1.4
Method Detail

getFieldAttribute

public Format.Field getFieldAttribute()
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.

Returns:
Identifier for the field
Since:
1.4

getField

public int getField()
Retrieves the field identifier.


getBeginIndex

public int getBeginIndex()
Retrieves the index of the first character in the requested field.


getEndIndex

public int getEndIndex()
Retrieves the index of the character following the last character in the requested field.


setBeginIndex

public void setBeginIndex(int bi)
Sets the begin index. For use by subclasses of Format.

Since:
1.2

setEndIndex

public void setEndIndex(int ei)
Sets the end index. For use by subclasses of Format.

Since:
1.2

getFieldDelegate

Format.FieldDelegate getFieldDelegate()
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.


equals

public boolean equals(Object obj)
Overrides equals

Overrides:
equals in class Object
Parameters:
obj - the reference object with which to compare.
Returns:
true if this object is the same as the obj argument; false otherwise.
See Also:
Object.hashCode(), Hashtable

hashCode

public int hashCode()
Returns a hash code for this FieldPosition.

Overrides:
hashCode in class Object
Returns:
a hash code value for this object
See Also:
Object.equals(java.lang.Object), Hashtable

toString

public String toString()
Return a string representation of this FieldPosition.

Overrides:
toString in class Object
Returns:
a string representation of this object

matchesField

private boolean matchesField(Format.Field attribute)
Return true if the receiver wants a Format.Field value and attribute is equal to it.


matchesField

private boolean matchesField(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.