Class LocationFormat

All Implemented Interfaces:
Serializable, Cloneable, Localized

public class LocationFormat extends TabularFormat<AbstractLocation>
Formats Location instances in a tabular format. This format assumes a monospaced font and an encoding supporting drawing box characters (e.g. UTF-8).
Example: the location identified by "32TNL83" in the military grid reference system can be represented by the following string formatted using Locale.ENGLISH:

Limitations

  • The current implementation can only format features — parsing is not yet implemented.
  • LocationFormat, like most java.text.Format subclasses, is not thread-safe.
Since:
0.8
Version:
0.8
Author:
Martin Desruisseaux (Geomatys)
See Also:
  • Constructor Details

    • LocationFormat

      public LocationFormat(Locale locale, TimeZone timezone)
      Creates a new format for the given locale. The given locale can be null or Locale.ROOT if this format shall format "unlocalized" strings.
      Parameters:
      locale - the locale for the new Format, or null for Locale.ROOT.
      timezone - the timezone, or null for UTC.
  • Method Details

    • getValueType

      public Class<AbstractLocation> getValueType()
      Returns the type of values formatted by this Format instance.
      Specified by:
      getValueType in class CompoundFormat<AbstractLocation>
      Returns:
      the type of values formatted by this Format instance.
    • format

      public void format(AbstractLocation location, Appendable toAppendTo) throws IOException
      Writes a textual representation of the given location in the given stream or buffer.
      Upcoming API change — generalization
      in a future SIS version, the type of location parameter may be generalized to the org.opengis.referencing.gazetteer.Location interface. This change is pending GeoAPI revision.
      Specified by:
      format in class CompoundFormat<AbstractLocation>
      Parameters:
      location - the location to format.
      toAppendTo - where to format the location.
      Throws:
      IOException - if an error occurred while writing to the given appendable.
    • createFormat

      protected Format createFormat(Class<?> valueType)
      Creates the format to use for formatting a latitude, longitude or projected coordinate. This method is invoked by format(Location, Appendable) when first needed.
      Overrides:
      createFormat in class CompoundFormat<AbstractLocation>
      Parameters:
      valueType - Angle.class. Number.class or Unit.class.
      Returns:
      a new AngleFormat, NumberFormat or UnitFormat instance depending on the argument value.
    • parse

      public AbstractLocation parse(CharSequence text, ParsePosition pos) throws ParseException
      Unsupported operation.
      Specified by:
      parse in class CompoundFormat<AbstractLocation>
      Parameters:
      text - the character sequence for the location to parse.
      pos - the position where to start the parsing.
      Returns:
      the parsed location, or null if the text is not recognized.
      Throws:
      ParseException - if an error occurred while parsing the location.
    • clone

      public LocationFormat clone()
      Returns a clone of this format.
      Overrides:
      clone in class TabularFormat<AbstractLocation>
      Returns:
      a clone of this format.