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

## Class DefaultOrganisation

- Object
- - AbstractMetadata
  - - ModifiableMetadata
    - - ISOMetadata
      - - AbstractParty
        - - DefaultOrganisation

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

      @UML(identifier="CI_Organisation",
           specification=ISO_19115)
      public class DefaultOrganisation
      extends AbstractParty

  Information about the party if the party is an organization.
  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 `Organisation` 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
    --- | ---
    `DefaultOrganisation()` | Constructs an initially empty organization.
    `DefaultOrganisation​(CharSequence name, BrowseGraphic logo, DefaultIndividual individual, Contact contactInfo)` | Constructs an organization initialized to the specified values.
    `DefaultOrganisation​(DefaultOrganisation object)` | Constructs a new instance initialized with the values from the specified metadata object.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Collection<DefaultIndividual>` | `getIndividual()` | Returns the individuals in the named organization.
    `Collection<BrowseGraphic>` | `getLogo()` | Returns the graphics identifying organization.
    `void` | `setIndividual​(Collection<? extends DefaultIndividual> newValues)` | Sets the individuals in the named organization.
    `void` | `setLogo​(Collection<? extends BrowseGraphic> newValues)` | Sets the graphics identifying organisation.

    - ### Methods inherited from class AbstractParty

      `getContactInfo, getName, setContactInfo, setName`

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

    - #### DefaultOrganisation

          public DefaultOrganisation()

      Constructs an initially empty organization.

    - #### DefaultOrganisation

          public DefaultOrganisation​(CharSequence name,
                                     BrowseGraphic logo,
                                     DefaultIndividual individual,
                                     Contact contactInfo)

      Constructs an organization initialized to the specified values.
      Parameters:
        `name` - name of the organization, or `null` if none.
        `logo` - graphic identifying the organization, or `null` if none.
        `individual` - position of the individual in an organization, or `null` if none.
        `contactInfo` - contact information for the organization, or `null` if none.

    - #### DefaultOrganisation

          public DefaultOrganisation​(DefaultOrganisation 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 Detail

    - #### getLogo

          @UML(identifier="logo",
               obligation=CONDITIONAL,
               specification=ISO_19115)
          public Collection<BrowseGraphic> getLogo()

      Returns the graphics identifying organization.
      Returns:
        graphics identifying organization, or an empty collection if there is none.

    - #### setLogo

          public void setLogo​(Collection<? extends BrowseGraphic> newValues)

      Sets the graphics identifying organisation.
      Parameters:
        `newValues` - the new graphics identifying organization.

    - #### getIndividual

          @UML(identifier="individual",
               obligation=OPTIONAL,
               specification=ISO_19115)
          public Collection<DefaultIndividual> getIndividual()

      Returns the individuals in the named organization.
      Upcoming API change — generalization
      The element type will be changed to the `Individual` interface when GeoAPI will provide it (tentatively in GeoAPI 3.1).
      Returns:
        individuals in the named organization, or an empty collection.

    - #### setIndividual

          public void setIndividual​(Collection<? extends DefaultIndividual> newValues)

      Sets the individuals in the named organization.
      Upcoming API change — generalization
      The element type will be changed to the `Individual` interface when GeoAPI will provide it (tentatively in GeoAPI 3.1).
      Parameters:
        `newValues` - the new individuals in the named organization.