Package org.apache.sis.metadata.iso.citation

## Class DefaultAddress

- Object
- - AbstractMetadata
  - - ModifiableMetadata
    - - ISOMetadata
      - - DefaultAddress

- All Implemented Interfaces:
    `Serializable`, `Emptiable`, `LenientComparable`, `IdentifiedObject`, `Address`

      public class DefaultAddress
      extends ISOMetadata
      implements Address

  Location of the responsible individual or organization.

  Limitations:

  - Instances of this class are not synchronized for multi-threading. Synchronization, if needed, is caller's responsibility.
  - Serialized objects of this class are not guaranteed to be compatible with future Apache SIS releases. Serialization support is appropriate for short term storage or RMI between applications running the same version of Apache SIS. For long term storage, use `XML` instead.
  Since:
    0.3
  See Also:
    Serialized Form

  Defined in the `sis-metadata` module

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class ModifiableMetadata

      `ModifiableMetadata​.State`

  - ### Field Summary

    - ### Fields inherited from class ISOMetadata

      `identifiers`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `DefaultAddress()` | Constructs an initially empty address.
    `DefaultAddress​(Address object)` | Constructs a new instance initialized with the values from the specified metadata object.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static DefaultAddress` | `castOrCopy​(Address object)` | Returns a SIS metadata implementation with the values of the given arbitrary implementation.
    `InternationalString` | `getAdministrativeArea()` | Return the state, province of the location.
    `InternationalString` | `getCity()` | Returns the city of the location.
    `InternationalString` | `getCountry()` | Returns the country of the physical address.
    `Collection<String>` | `getDeliveryPoints()` | Returns the address line for the location (as described in ISO 11180, Annex A).
    `Collection<String>` | `getElectronicMailAddresses()` | Returns the address of the electronic mailbox of the responsible organization or individual.
    `String` | `getPostalCode()` | Returns ZIP or other postal code.
    `void` | `setAdministrativeArea​(InternationalString newValue)` | Sets the state, province of the location.
    `void` | `setCity​(InternationalString newValue)` | Sets the city of the location.
    `void` | `setCountry​(InternationalString newValue)` | Sets the country of the physical address.
    `void` | `setDeliveryPoints​(Collection<? extends String> newValues)` | Sets the address line for the location (as described in ISO 11180, Annex A).
    `void` | `setElectronicMailAddresses​(Collection<? extends String> newValues)` | Sets the address of the electronic mailbox of the responsible organization or individual.
    `void` | `setPostalCode​(String newValue)` | Sets ZIP or other postal code.

    - ### Methods inherited from class ISOMetadata

      `getIdentifier, getIdentifierMap, getIdentifiers, getStandard, setIdentifier, transitionTo`

    - ### Methods inherited from class ModifiableMetadata

      `checkWritePermission, checkWritePermission, collectionType, copyCollection, copyList, copyMap, copySet, freeze, isModifiable, nonNullCollection, nonNullList, nonNullMap, nonNullSet, singleton, state, unmodifiable, writeCollection, writeList, writeMap, writeSet`

    - ### Methods inherited from class AbstractMetadata

      `asMap, asTreeTable, equals, equals, getInterface, hashCode, isEmpty, prune, toString`

    - ### Methods inherited from class Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### DefaultAddress

          public DefaultAddress()

      Constructs an initially empty address.

    - #### DefaultAddress

          public DefaultAddress​(Address object)

      Constructs a new instance initialized with the values from the specified metadata object. This is a shallow copy constructor, since the other metadata contained in the given object are not recursively copied.
      Parameters:
        `object` - the metadata to copy values from, or `null` if none.
      See Also:
        `castOrCopy(Address)`

  - ### Method Detail

    - #### castOrCopy

          public static DefaultAddress castOrCopy​(Address object)

      Returns a SIS metadata implementation with the values of the given arbitrary implementation. This method performs the first applicable action in the following choices:
      - If the given object is `null`, then this method returns `null`.
      - Otherwise if the given object is already an instance of `DefaultAddress`, then it is returned unchanged.
      - Otherwise a new `DefaultAddress` instance is created using the copy constructor and returned. Note that this is a shallow copy operation, since the other metadata contained in the given object are not recursively copied.
      Parameters:
        `object` - the object to get as a SIS implementation, or `null` if none.
      Returns:
        a SIS implementation containing the values of the given object (may be the given object itself), or `null` if the argument was null.

    - #### getAdministrativeArea

          public InternationalString getAdministrativeArea()

      Return the state, province of the location.
      Specified by:
        `getAdministrativeArea` in interface `Address`
      Returns:
        state, province of the location, or `null`.

    - #### setAdministrativeArea

          public void setAdministrativeArea​(InternationalString newValue)

      Sets the state, province of the location.
      Parameters:
        `newValue` - the new administrative area.

    - #### getCity

          public InternationalString getCity()

      Returns the city of the location.
      Specified by:
        `getCity` in interface `Address`
      Returns:
        the city of the location, or `null`.

    - #### setCity

          public void setCity​(InternationalString newValue)

      Sets the city of the location.
      Parameters:
        `newValue` - the new city, or `null` if none.

    - #### getCountry

          public InternationalString getCountry()

      Returns the country of the physical address.
      Specified by:
        `getCountry` in interface `Address`
      Returns:
        country of the physical address, or `null`.

    - #### setCountry

          public void setCountry​(InternationalString newValue)

      Sets the country of the physical address.
      Parameters:
        `newValue` - the new country, or `null` if none.

    - #### getDeliveryPoints

          public Collection<String> getDeliveryPoints()

      Returns the address line for the location (as described in ISO 11180, Annex A).
      Upcoming API change — internationalization
      The return type may be changed from `Collection<String>` to `Collection<? extends InternationalString>` in GeoAPI 4.0.
      Specified by:
        `getDeliveryPoints` in interface `Address`
      Returns:
        address line for the location.

    - #### setDeliveryPoints

          public void setDeliveryPoints​(Collection<? extends String> newValues)

      Sets the address line for the location (as described in ISO 11180, Annex A).
      Upcoming API change — internationalization
      The argument type may be changed from `Collection<String>` to `Collection<? extends InternationalString>` in GeoAPI 4.0.
      Parameters:
        `newValues` - the new delivery points, or `null` if none.

    - #### getElectronicMailAddresses

          public Collection<String> getElectronicMailAddresses()

      Returns the address of the electronic mailbox of the responsible organization or individual.
      Specified by:
        `getElectronicMailAddresses` in interface `Address`
      Returns:
        address of the electronic mailbox of the responsible organization or individual.

    - #### setElectronicMailAddresses

          public void setElectronicMailAddresses​(Collection<? extends String> newValues)

      Sets the address of the electronic mailbox of the responsible organization or individual.
      Parameters:
        `newValues` - the new electronic mail addresses, or `null` if none.

    - #### getPostalCode

          public String getPostalCode()

      Returns ZIP or other postal code.
      Specified by:
        `getPostalCode` in interface `Address`
      Returns:
        ZIP or other postal code, or `null`.

    - #### setPostalCode

          public void setPostalCode​(String newValue)

      Sets ZIP or other postal code.
      Parameters:
        `newValue` - the new postal code, or `null` if none.