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

# Class AbstractParty

Object
AbstractMetadata
ModifiableMetadata
ISOMetadata
AbstractParty

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

Direct Known Subclasses:
  `DefaultIndividual`, `DefaultOrganisation`

@TitleProperty(name="name") @UML(identifier="CI_Party", specification=ISO_19115) public class AbstractParty extends ISOMetadata
Information about the individual and / or organization of the party. The following property is conditional (i.e. mandatory under some circumstances) in a well-formed metadata according ISO 19115:
`CI_Party` `└─name……` Name of the party.
Note on International Standard versions
This class is derived from a new type defined in the ISO 19115 international standard published in 2014, while GeoAPI 3.0 is based on the version published in 2003. Consequently this implementation class does not yet implement a GeoAPI interface, but is expected to do so after the next GeoAPI releases. When the interface will become available, all references to this implementation class in Apache SIS will be replaced be references to the `Party` interface.

## 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.5
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
  `AbstractParty()`
  Constructs an initially empty party.
  `AbstractParty(CharSequence name, Contact contactInfo)`
  Constructs a party initialized with the specified name and contact information.
  `AbstractParty(AbstractParty object)`
  Constructs a new instance initialized with the values from the specified metadata object.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Collection<Contact>`
  `getContactInfo()`
  Returns the contact information for the party.
  `InternationalString`
  `getName()`
  Return the name of the party.
  `void`
  `setContactInfo(Collection<? extends Contact> newValues)`
  Sets the contact information for the party.
  `void`
  `setName(InternationalString newValue)`
  Sets the name of the party.

  ### Methods inherited from class ISOMetadata

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

  ### Methods inherited from class ModifiableMetadata

  `checkWritePermission, collectionType, copyCollection, copyList, copyMap, copySet, deepCopy, nonNullCollection, nonNullList, nonNullMap, nonNullSet, singleton, state, 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 Details

  - ### AbstractParty

    public AbstractParty()
    Constructs an initially empty party.

  - ### AbstractParty

    public AbstractParty(CharSequence name, Contact contactInfo)
    Constructs a party initialized with the specified name and contact information.
    Parameters:
      `name` - name of the party, or `null` if none.
      `contactInfo` - contact information for the party, or `null` if none.

  - ### AbstractParty

    public AbstractParty(AbstractParty 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.

- ## Method Details

  - ### getName

    @UML(identifier="name", obligation=CONDITIONAL, specification=ISO_19115) public InternationalString getName()
    Return the name of the party.
    Returns:
      name of the party.

  - ### setName

    public void setName(InternationalString newValue)
    Sets the name of the party.
    Parameters:
      `newValue` - the new name of the party.

  - ### getContactInfo

    @UML(identifier="contactInfo", obligation=OPTIONAL, specification=ISO_19115) public Collection<Contact> getContactInfo()
    Returns the contact information for the party.
    Returns:
      contact information for the party.

  - ### setContactInfo

    public void setContactInfo(Collection<? extends Contact> newValues)
    Sets the contact information for the party.
    Parameters:
      `newValues` - the new contact information for the party.