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

## Class DefaultResponsibleParty

- Object
- - AbstractMetadata
  - - ModifiableMetadata
    - - ISOMetadata
      - - DefaultResponsibility
        - - DefaultResponsibleParty

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

      public class DefaultResponsibleParty
      extends DefaultResponsibility
      implements ResponsibleParty

  Identification of, and means of communication with, person(s) and organizations associated with the dataset. The following properties are mandatory or conditional (i.e. mandatory under some circumstances) in a well-formed metadata according ISO 19115:
  `CI_ResponsibleParty` `├─role……………………………` Function performed by the responsible party. `└─party…………………………` Information about the parties. `└─name…………………` Name of the party.
  Upcoming API change — deprecation
  As of ISO 19115:2014, the `ResponsibleParty` type has been replaced by `Responsibility` to allow more flexible associations of individuals, organisations, and roles. This `ResponsibleParty` interface may be deprecated in GeoAPI 4.0.
  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
    --- | ---
    `DefaultResponsibleParty()` | Constructs an initially empty responsible party.
    `DefaultResponsibleParty​(DefaultResponsibility object)` | Constructs a new instance initialized with the values from the specified metadata object.
    `DefaultResponsibleParty​(ResponsibleParty object)` | Constructs a new instance initialized with the values from the specified metadata object.
    `DefaultResponsibleParty​(Role role)` | Constructs a responsibility party with the given role.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static DefaultResponsibleParty` | `castOrCopy​(ResponsibleParty object)` | Returns a SIS metadata implementation with the values of the given arbitrary implementation.
    `Contact` | `getContactInfo()` | Deprecated. As of ISO 19115:2014, replaced by `AbstractParty​.getContactInfo()`.
    `String` | `getIndividualName()` | Deprecated. As of ISO 19115:2014, replaced by `getName()` in `DefaultIndividual`.
    `InternationalString` | `getOrganisationName()` | Deprecated. As of ISO 19115:2014, replaced by `getName()` in `DefaultOrganisation`.
    `InternationalString` | `getPositionName()` | Deprecated. As of ISO 19115:2014, replaced by `DefaultIndividual​.getPositionName()`.
    `Role` | `getRole()` | Returns the function performed by the responsible party.
    `void` | `setContactInfo​(Contact newValue)` | Deprecated. As of ISO 19115:2014, replaced by `AbstractParty​.setContactInfo(Collection)`.
    `void` | `setIndividualName​(String newValue)` | Deprecated. As of ISO 19115:2014, replaced by `setName(InternationalString)` in `DefaultIndividual`.
    `void` | `setOrganisationName​(InternationalString newValue)` | Deprecated. As of ISO 19115:2014, replaced by `setName(InternationalString)` in `DefaultOrganisation`.
    `void` | `setPositionName​(InternationalString newValue)` | Deprecated. As of ISO 19115:2014, replaced by `DefaultIndividual​.setPositionName(InternationalString)`.
    `void` | `setRole​(Role newValue)` | Sets the function performed by the responsible party.

    - ### Methods inherited from class DefaultResponsibility

      `getExtents, getParties, setExtents, setParties`

    - ### 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

    - #### DefaultResponsibleParty

          public DefaultResponsibleParty()

      Constructs an initially empty responsible party.

    - #### DefaultResponsibleParty

          public DefaultResponsibleParty​(Role role)

      Constructs a responsibility party with the given role.
      Parameters:
        `role` - the function performed by the responsible party, or `null`.

    - #### DefaultResponsibleParty

          public DefaultResponsibleParty​(DefaultResponsibility 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.

    - #### DefaultResponsibleParty

          public DefaultResponsibleParty​(ResponsibleParty 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(ResponsibleParty)`

  - ### Method Detail

    - #### castOrCopy

          public static DefaultResponsibleParty castOrCopy​(ResponsibleParty 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 `DefaultResponsibleParty`, then it is returned unchanged.
      - Otherwise a new `DefaultResponsibleParty` 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.

    - #### getIndividualName

          @Deprecated
          public String getIndividualName()

      Deprecated.
      As of ISO 19115:2014, replaced by `getName()` in `DefaultIndividual`.
      Returns the name of the responsible person- surname, given name, title separated by a delimiter. Only one of `individualName`, `organisationName` and `positionName` shall be provided.

      This implementation returns the name of the first `Individual` found in the collection of parties. If no individual is found in the parties, then this method fallbacks on the first organisation member.

      Specified by:
        `getIndividualName` in interface `ResponsibleParty`
      Returns:
        name, surname, given name and title of the responsible person, or `null`.

    - #### setIndividualName

          @Deprecated
          public void setIndividualName​(String newValue)

      Deprecated.
      As of ISO 19115:2014, replaced by `setName(InternationalString)` in `DefaultIndividual`.
      Sets the name of the responsible person- surname, given name, title separated by a delimiter. Only one of `individualName`, `organisationName` and `positionName` shall be provided.

      This implementation sets the name of the first `Individual` found in the collection of parties, or create a new individual if no existing instance was found.

      Parameters:
        `newValue` - the new individual name, or `null` if none.

    - #### getOrganisationName

          @Deprecated
          public InternationalString getOrganisationName()

      Deprecated.
      As of ISO 19115:2014, replaced by `getName()` in `DefaultOrganisation`.
      Returns the name of the responsible organization. Only one of `individualName`, `organisationName` and `positionName` shall be provided.

      This implementation returns the name of the first `Organisation` found in the collection of parties.

      Specified by:
        `getOrganisationName` in interface `ResponsibleParty`
      Returns:
        name of the responsible organization, or `null`.

    - #### setOrganisationName

          @Deprecated
          public void setOrganisationName​(InternationalString newValue)

      Deprecated.
      As of ISO 19115:2014, replaced by `setName(InternationalString)` in `DefaultOrganisation`.
      Sets the name of the responsible organization. Only one of `individualName`, `organisationName` and `positionName` shall be provided.

      This implementation sets the name of the first `Organisation` found in the collection of parties, or create a new organization if no existing instance was found.

      Parameters:
        `newValue` - the new organization name, or `null` if none.

    - #### getPositionName

          @Deprecated
          public InternationalString getPositionName()

      Deprecated.
      As of ISO 19115:2014, replaced by `DefaultIndividual​.getPositionName()`.
      Returns the role or position of the responsible person Only one of `individualName`, `organisationName` and `positionName` shall be provided.

      This implementation returns the position of the first `Individual` found in the collection of parties. If no individual is found in the parties, then this method fallbacks on the first organisation member.

      Specified by:
        `getPositionName` in interface `ResponsibleParty`
      Returns:
        role or position of the responsible person, or `null`

    - #### setPositionName

          @Deprecated
          public void setPositionName​(InternationalString newValue)

      Deprecated.
      As of ISO 19115:2014, replaced by `DefaultIndividual​.setPositionName(InternationalString)`.
      set the role or position of the responsible person Only one of `individualName`, `organisationName` and `positionName` shall be provided.

      This implementation sets the position name of the first `Individual` found in the collection of parties, or create a new individual if no existing instance was found.

      Parameters:
        `newValue` - the new position name, or `null` if none.

    - #### getContactInfo

          @Deprecated
          public Contact getContactInfo()

      Deprecated.
      As of ISO 19115:2014, replaced by `AbstractParty​.getContactInfo()`.
      Returns the address of the responsible party.

      This implementation returns the first non-null contact found in the collection of parties.

      Specified by:
        `getContactInfo` in interface `ResponsibleParty`
      Returns:
        address of the responsible party, or `null`.

    - #### setContactInfo

          @Deprecated
          public void setContactInfo​(Contact newValue)

      Deprecated.
      As of ISO 19115:2014, replaced by `AbstractParty​.setContactInfo(Collection)`.
      Sets the address of the responsible party.

      This implementation sets the contact info in the first party found in the collection of parties.

      Parameters:
        `newValue` - the new contact info, or `null` if none.

    - #### getRole

          public Role getRole()

      Returns the function performed by the responsible party.
      Specified by:
        `getRole` in interface `ResponsibleParty`
      Overrides:
        `getRole` in class `DefaultResponsibility`
      Returns:
        function performed by the responsible party.

    - #### setRole

          public void setRole​(Role newValue)

      Sets the function performed by the responsible party.
      Overrides:
        `setRole` in class `DefaultResponsibility`
      Parameters:
        `newValue` - the new role.