|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
ObjectFormat
AngleFormat
public class AngleFormat
Parses and formats angles according a specified pattern. The pattern is a string containing any characters, with a special meaning for the following characters:
DThe integer part of degrees dThe fractional part of degrees MThe integer part of minutes mThe fractional part of minutes SThe integer part of seconds sThe fractional part of seconds .The decimal separator
Upper-case letters D, M and S are for the integer parts of degrees,
minutes and seconds respectively. They must appear in this order. For example M'D is
illegal because "M" and "S" are inverted; D°S is illegal too because there is no "M"
between "D" and "S".
Lower-case letters d, m and s are for fractional parts of degrees,
minutes and seconds respectively. Only one of those may appears in a pattern, and it must
be the last special symbol. For example D.dd°MM' is illegal because "d" is followed
by "M"; D.mm is illegal because "m" is not the fractional part of "D".
The number of occurrence of D, M, S and their lower-case counterpart
is the number of digits to format. For example, DD.ddd will format angle with two
digits for the integer part and three digits for the fractional part (e.g. 4.4578 will be
formatted as "04.458").
Separator characters like °, ′ and ″ are inserted "as-is" in the
formatted string, except the decimal separator dot (".") which is replaced by the
local-dependent decimal separator. Separator characters may be completely omitted;
AngleFormat will still differentiate degrees, minutes and seconds fields according
the pattern. For example, "0480439" with the pattern DDDMMmm will be parsed
as 48°04.39'.
The following table gives some examples of legal patterns.
Pattern Example DD°MM′SS″48°30′00″ DD°MM′48°30′ DD.ddd48.500 DDMM4830 DDMMSS483000
Synchronization
Angle formats are generally not synchronized. It is recommended to create separate format
instances for each thread. If multiple threads access a format concurrently, it must be
synchronized externally.
Angle,
Latitude,
Longitude,
Serialized Form
| utility/geotk-utility (download) | View source code for this class |
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class Format |
|---|
Format.Field |
| Field Summary | |
|---|---|
static int |
DEGREES_FIELD
Constant for degrees field. |
static int |
HEMISPHERE_FIELD
Constant for hemisphere field. |
static int |
MINUTES_FIELD
Constant for minutes field. |
static int |
SECONDS_FIELD
Constant for seconds field. |
| Constructor Summary | |
|---|---|
AngleFormat()
Constructs a new AngleFormat using
the current default locale and a default pattern. |
|
AngleFormat(String pattern)
Constructs a new AngleFormat using the
current default locale and the specified pattern. |
|
AngleFormat(String pattern,
DecimalFormatSymbols symbols)
Constructs a new AngleFormat using the specified pattern and decimal symbols. |
|
AngleFormat(String pattern,
Locale locale)
Constructs a new AngleFormat using the specified pattern and locale. |
|
| Method Summary | |
|---|---|
void |
applyPattern(String pattern)
Sets the pattern to use for parsing and formatting angle. |
boolean |
equals(Object object)
Compares this format with the specified object for equality. |
String |
format(double angle)
Formats an angle. |
StringBuffer |
format(double angle,
StringBuffer toAppendTo,
FieldPosition pos)
Formats an angle and appends the resulting text to a given string buffer. |
StringBuffer |
format(Object obj,
StringBuffer toAppendTo,
FieldPosition pos)
Formats an angle, a latitude or a longitude and appends the resulting text to a given string buffer. |
static AngleFormat |
getInstance()
Constructs a new AngleFormat for the default locale. |
static AngleFormat |
getInstance(Locale locale)
Constructs a new AngleFormat for the specified locale. |
int |
hashCode()
Returns a "hash value" for this object. |
Angle |
parse(String source)
Parses a string as an angle. |
Angle |
parse(String source,
ParsePosition pos)
Parses a string as an angle. |
Angle |
parseObject(String source)
Parses a string as an object. |
Angle |
parseObject(String source,
ParsePosition pos)
Parses a substring as an angle. |
String |
toPattern()
Returns the pattern used for parsing and formatting angles. |
String |
toString()
Returns a string representation of this object. |
| Methods inherited from class Format |
|---|
clone, format, formatToCharacterIterator |
| Methods inherited from class Object |
|---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final int DEGREES_FIELD
FieldPosition constructor in order to
get the bounding index where degrees have been written.
public static final int MINUTES_FIELD
FieldPosition constructor in order to
get the bounding index where minutes have been written.
public static final int SECONDS_FIELD
FieldPosition constructor in order to
get the bounding index where seconds have been written.
public static final int HEMISPHERE_FIELD
FieldPosition constructor in order to
get the bounding index where the hemisphere symbol has been written.
| Constructor Detail |
|---|
public AngleFormat()
AngleFormat using
the current default locale and a default pattern.
public AngleFormat(String pattern)
throws IllegalArgumentException
AngleFormat using the
current default locale and the specified pattern.
pattern - Pattern to use for parsing and formatting angle.
See class description for an explanation of how this pattern work.
IllegalArgumentException - If the specified pattern is not legal.
public AngleFormat(String pattern,
Locale locale)
throws IllegalArgumentException
AngleFormat using the specified pattern and locale.
pattern - Pattern to use for parsing and formatting angle.
See class description for an explanation of how this pattern work.locale - Locale to use.
IllegalArgumentException - If the specified pattern is not legal.
public AngleFormat(String pattern,
DecimalFormatSymbols symbols)
AngleFormat using the specified pattern and decimal symbols.
pattern - Pattern to use for parsing and formatting angle.
See class description for an explanation of how this pattern work.symbols - The symbols to use for parsing and formatting numbers.
IllegalArgumentException - If the specified pattern is not legal.| Method Detail |
|---|
public static AngleFormat getInstance()
AngleFormat for the default locale.
public static AngleFormat getInstance(Locale locale)
AngleFormat for the specified locale.
locale - The locale.
public void applyPattern(String pattern)
throws IllegalArgumentException
pattern - Pattern to use for parsing and formatting angle.
IllegalArgumentException - If the specified pattern is not legal.public String toPattern()
public final String format(double angle)
applyPattern(java.lang.String).
angle - Angle to format, in degrees.
public StringBuffer format(double angle,
StringBuffer toAppendTo,
FieldPosition pos)
applyPattern(java.lang.String).
angle - Angle to format, in degrees.toAppendTo - Where the text is to be appended.pos - An optional FieldPosition identifying a field in the formatted text, or
null if this information is not wanted. This field position shall be
constructed with one of the following constants: DEGREES_FIELD,
MINUTES_FIELD, SECONDS_FIELD or HEMISPHERE_FIELD.
toAppendTo, with formatted text appended.
public StringBuffer format(Object obj,
StringBuffer toAppendTo,
FieldPosition pos)
throws IllegalArgumentException
applyPattern(java.lang.String). The argument obj shall be an Angle object or
one of its derived class (Latitude, Longitude). If obj is a
Latitude object, then a symbol "N" or "S" will be appended to the end of the
string (the symbol will be chosen according the angle sign). Otherwise, if obj
is a Longitude object, then a symbol "E" or "W" will be appended to the end of the
string. Otherwise, no hemisphere symbol will be appended.
Strictly speaking, formatting ordinary numbers is not the AngleFormat's job.
Nevertheless, this method accept Number objects. This capability is provided
as a convenient way to format altitude numbers together with longitude and latitude angles.
format in class Formatobj - Angle or Number object to format.toAppendTo - Where the text is to be appended.pos - An optional FieldPosition identifying a field in the formatted text,
or null if this information is not wanted. This field position shall
be constructed with one of the following constants: DEGREES_FIELD,
MINUTES_FIELD, SECONDS_FIELD or HEMISPHERE_FIELD.
toAppendTo, with formatted text appended.
IllegalArgumentException - if obj if not an object of class Angle
or Number.
public Angle parse(String source,
ParsePosition pos)
48°12.34'" even if the expected pattern was "DDMM.mm" (i.e. the string
should have been "4812.34").
Spaces between degrees, minutes and seconds are ignored. If the string ends with an
hemisphere symbol "N" or "S", then this method returns an object of class Latitude.
Otherwise, if the string ends with an hemisphere symbol "E" or "W", then this method returns
an object of class Longitude. Otherwise, this method returns an object of class
Angle.
source - A String whose beginning should be parsed.pos - Position where to start parsing.
Angle, Latitude or Longitude object.
public Angle parse(String source)
throws ParseException
source - The string to parse.
Angle, Latitude
or Longitude object.
ParseException - if the string has not been fully parsed.
public Angle parseObject(String source,
ParsePosition pos)
parse(String, ParsePosition).
parseObject in class Formatsource - A String whose beginning should be parsed.pos - Position where to start parsing.
Angle, Latitude or Longitude object.
public Angle parseObject(String source)
throws ParseException
parse(String).
parseObject in class Formatsource - The string to parse.
Angle, Latitude or Longitude object.
ParseException - if the string has not been fully parsed.public int hashCode()
hashCode in class Objectpublic boolean equals(Object object)
equals in class Objectobject - The object to compare with this angle format for equality.public String toString()
toString in class Object
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||