Class DefaultOperationMetadata
Object
AbstractMetadata
ModifiableMetadata
ISOMetadata
DefaultOperationMetadata
- All Implemented Interfaces:
Serializable, Emptiable, LenientComparable, IdentifiedObject
@TitleProperty(name="operationName")
@UML(identifier="SV_OperationMetadata",
specification=ISO_19115)
public class DefaultOperationMetadata
extends ISOMetadata
Parameter information.
The following properties are mandatory in a well-formed metadata according ISO 19115:
SV_OperationMetadata
├─operationName…………………………………………… A unique identifier for this interface.
├─distributedComputingPlatform…… Distributed computing platforms on which the operation has been implemented.
└─connectPoint……………………………………………… Handle for accessing the service interface.
└─linkage………………………………………………… Location for on-line access using a URL address or similar addressing scheme.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
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
OperationMetadata 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
XMLinstead.
- Since:
- 0.5
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class ModifiableMetadata
ModifiableMetadata.StateModifier and TypeClassDescriptionstatic enumWhether the metadata is still editable or has been made final. -
Field Summary
Fields inherited from class ISOMetadata
identifiersModifier and TypeFieldDescriptionprotected Collection<Identifier> All identifiers associated with this metadata, ornullif none. -
Constructor Summary
ConstructorsConstructorDescriptionConstructs an initially empty operation metadata.Constructs a new instance initialized with the values from the specified metadata object. -
Method Summary
Modifier and TypeMethodDescriptionReturns the handle for accessing the service interface.Returns the list of operation that must be completed immediately before current operation is invoked.Collection<CodeList<?>> Returns the distributed computing platforms (DCPs) on which the operation has been implemented.Returns the name used to invoke this interface within the context of the DCP.Returns free text description of the intent of the operation and the results of the operation.Returns an unique identifier for this interface.Returns the parameters that are required for this interface.voidsetConnectPoints(Collection<? extends OnlineResource> newValue) Sets the handle for accessing the service interface.voidsetDependsOn(List<? extends DefaultOperationMetadata> newValues) Sets the list of operation that must be completed before current operation is invoked.voidsetDistributedComputingPlatforms(Collection<? extends CodeList<?>> newValues) Sets the distributed computing platforms on which the operation has been implemented.voidsetInvocationName(InternationalString newValue) Sets the name used to invoke this interface within the context of the DCP.voidsetOperationDescription(InternationalString newValue) Sets free text description of the intent of the operation and the results of the operation.voidsetOperationName(String newValue) Sets the unique identifier for this interface.voidsetParameters(Collection<? extends ParameterDescriptor<?>> newValues) Sets the parameters that are required for this interface.Methods inherited from class ISOMetadata
getIdentifier, getIdentifierMap, getIdentifiers, getStandard, setIdentifierModifier and TypeMethodDescriptionprotected IdentifierReturns the first identifier which is presumed to be defined by ISO 19115 conceptual model.A map view of the identifiers collection as (authority, code) entries.Returns all identifiers associated with this object (from conceptual model and from XML document).Returns the metadata standard implemented by subclasses, which is ISO 19115.protected voidsetIdentifier(Identifier newValue) Sets the identifier for metadata objects that are expected to contain at most one ISO 19115 identifier.Methods inherited from class ModifiableMetadata
checkWritePermission, copyCollection, copyList, copyMap, copySet, deepCopy, merge, nonNullCollection, nonNullList, nonNullMap, nonNullSet, singleton, state, writeCollection, writeList, writeMap, writeSetModifier and TypeMethodDescriptionprotected voidcheckWritePermission(Object current) Checks if changes in the metadata are allowed.protected static <E> Collection<E> copyCollection(Collection<? extends E> source, Class<E> elementType) Creates a list or set with the content of thesourcecollection, or returnsnullif the source isnullor empty.protected static <E> List<E> copyList(Collection<? extends E> source, Class<E> elementType) Creates a list with the content of thesourcecollection, or returnsnullif the source isnullor empty.protected static <K,V> Map <K, V> Creates a map with the content of thesourcemap, or returnsnullif the source isnullor empty.protected static <E> Set<E> copySet(Collection<? extends E> source, Class<E> elementType) Creates a set with the content of thesourcecollection, or returnsnullif the source isnullor empty.deepCopy(ModifiableMetadata.State target) Copies (if necessary) this metadata and all its children.voidMerges the data from the given source into this metadata.protected final <E> Collection<E> nonNullCollection(Collection<E> current, Class<E> elementType) Returns the specified collection, or a new one ifcurrentis null.protected final <E> List<E> nonNullList(List<E> current, Class<E> elementType) Returns the specified list, or a new one ifcurrentis null.protected final <K,V> Map <K, V> nonNullMap(Map<K, V> current, Class<K> keyType) Returns the specified map, or a new one ifcurrentis null.protected final <E> Set<E> nonNullSet(Set<E> current, Class<E> elementType) Returns the specified set, or a new one ifcurrentis null.protected static <E> Collection<E> Creates a singleton list or set containing only the given value, if non-null.state()Tells whether this instance of metadata is editable.protected final <E> Collection<E> writeCollection(Collection<? extends E> source, Collection<E> target, Class<E> elementType) Writes the content of thesourcecollection into thetargetlist or set, creating it if needed.protected final <E> List<E> writeList(Collection<? extends E> source, List<E> target, Class<E> elementType) Writes the content of thesourcecollection into thetargetlist, creating it if needed.protected final <K,V> Map <K, V> Writes the content of thesourcemap into thetargetmap, creating it if needed.protected final <E> Set<E> writeSet(Collection<? extends E> source, Set<E> target, Class<E> elementType) Writes the content of thesourcecollection into thetargetset, creating it if needed.Methods inherited from class AbstractMetadata
asMap, asTreeTable, clone, equals, equals, getInterface, getStandardType, hashCode, isEmpty, nilReasons, prune, toStringModifier and TypeMethodDescriptionasMap()Returns a view of the property values in aMap.Returns the property types and values as a tree table.protected AbstractMetadataclone()Returns a shallow clone of this metadata.final booleanPerforms a strict comparison of this metadata with the given object.booleanequals(Object object, ComparisonMode mode) Compares this metadata with the specified object for equality.final Class<?> Deprecated, for removal: This API element is subject to removal in a future version.Returns the metadata interface implemented by this class.intComputes a hash code value for this metadata using Java reflection.booleanisEmpty()Returns a view of the reasons why some properties are missing.voidprune()Removes all references to empty properties.Returns a string representation of this metadata.
-
Constructor Details
-
DefaultOperationMetadata
public DefaultOperationMetadata()Constructs an initially empty operation metadata. -
DefaultOperationMetadata
Constructs a new instance initialized with the values from the specified metadata object. This is a shallow copy constructor, because the other metadata contained in the given object are not recursively copied.- Parameters:
object- the metadata to copy values from, ornullif none.
-
-
Method Details
-
getOperationName
@UML(identifier="operationName", obligation=MANDATORY, specification=ISO_19115) public String getOperationName()Returns an unique identifier for this interface.- Returns:
- an unique identifier for this interface.
-
setOperationName
Sets the unique identifier for this interface.- Parameters:
newValue- the new unique identifier for this interface.
-
getDistributedComputingPlatforms
@UML(identifier="distributedComputingPlatform", obligation=MANDATORY, specification=ISO_19115) public Collection<CodeList<?>> getDistributedComputingPlatforms()Returns the distributed computing platforms (DCPs) on which the operation has been implemented.Upcoming API change — specialization
The element type will be changed to theDistributedComputingPlatformcode list when GeoAPI will provide it (tentatively in GeoAPI 3.1).- Returns:
- distributed computing platforms on which the operation has been implemented.
-
setDistributedComputingPlatforms
Sets the distributed computing platforms on which the operation has been implemented.Upcoming API change — specialization
The element type will be changed to theDistributedComputingPlatformcode list when GeoAPI will provide it (tentatively in GeoAPI 3.1). In the meantime, users can define their own code list class as below:final class UnsupportedCodeList extends CodeList<UnsupportedCodeList> { private static final List<UnsupportedCodeList> VALUES = new ArrayList<UnsupportedCodeList>(); // Need to declare at least one code list element. public static final UnsupportedCodeList MY_CODE_LIST = new UnsupportedCodeList("MY_CODE_LIST"); private UnsupportedCodeList(String name) { super(name, VALUES); } public static UnsupportedCodeList valueOf(String code) { return valueOf(UnsupportedCodeList.class, code); } @Override public UnsupportedCodeList[] family() { synchronized (VALUES) { return VALUES.toArray(new UnsupportedCodeList[VALUES.size()]); } } }- Parameters:
newValues- the new distributed computing platforms on which the operation has been implemented.
-
getOperationDescription
@UML(identifier="operationDescription", obligation=OPTIONAL, specification=ISO_19115) public InternationalString getOperationDescription()Returns free text description of the intent of the operation and the results of the operation.- Returns:
- free text description of the intent of the operation and the results of the operation, or
nullif none.
-
setOperationDescription
Sets free text description of the intent of the operation and the results of the operation.- Parameters:
newValue- the new free text description of the intent of the operation and the results of the operation.
-
getInvocationName
@UML(identifier="invocationName", obligation=OPTIONAL, specification=ISO_19115) public InternationalString getInvocationName()Returns the name used to invoke this interface within the context of the DCP.- Returns:
- the name used to invoke this interface within the context of the distributed computing platforms,
or
nullif none.
-
setInvocationName
Sets the name used to invoke this interface within the context of the DCP.- Parameters:
newValue- the new name used to invoke this interface within the context of the DCP.
-
getConnectPoints
@UML(identifier="connectPoint", obligation=MANDATORY, specification=ISO_19115) public Collection<OnlineResource> getConnectPoints()Returns the handle for accessing the service interface.- Returns:
- handle for accessing the service interface.
-
setConnectPoints
Sets the handle for accessing the service interface.- Parameters:
newValue- the new handle for accessing the service interface.
-
getParameters
@UML(identifier="parameters", obligation=OPTIONAL, specification=ISO_19115) public Collection<ParameterDescriptor<?>> getParameters()Returns the parameters that are required for this interface.Unified parameter API
In GeoAPI, theSV_Parametertype defined by ISO 19115 is replaced byParameterDescriptorin order to provide a single parameter API. Seeorg.opengis.parameterfor more information.- Returns:
- the parameters that are required for this interface, or an empty collection if none.
-
setParameters
Sets the parameters that are required for this interface.- Parameters:
newValues- the new set of parameters that are required for this interface.
-
getDependsOn
@UML(identifier="dependsOn", obligation=OPTIONAL, specification=ISO_19115) public List<DefaultOperationMetadata> getDependsOn()Returns the list of operation that must be completed immediately before current operation is invoked.Upcoming API change — generalization
The element type will be changed to theOperationMetadatainterface when GeoAPI will provide it (tentatively in GeoAPI 3.1).- Returns:
- list of operation that must be completed immediately, or an empty list if none.
-
setDependsOn
Sets the list of operation that must be completed before current operation is invoked.Upcoming API change — generalization
The element type will be changed to theOperationMetadatainterface when GeoAPI will provide it (tentatively in GeoAPI 3.1).- Parameters:
newValues- the new list of operation.
-
AbstractMetadata.getStandardType()for integration withLenientComparable.