Class DefaultServiceIdentification
Object
AbstractMetadata
ModifiableMetadata
ISOMetadata
AbstractIdentification
DefaultServiceIdentification
- All Implemented Interfaces:
Serializable, Emptiable, LenientComparable, IdentifiedObject, Identification, ServiceIdentification
public class DefaultServiceIdentification
extends AbstractIdentification
implements ServiceIdentification
Identification of capabilities which a service provider makes available to a service user
through a set of interfaces that define a behaviour.
The following properties are mandatory or conditional (i.e. mandatory under some circumstances)
in a well-formed metadata according ISO 19115:
SV_ServiceIdentification
├─citation……………………………………… Citation data for the resource(s).
│ ├─title…………………………………… Name by which the cited resource is known.
│ └─date……………………………………… Reference date for the cited resource.
├─abstract……………………………………… Brief narrative summary of the content of the resource(s).
├─serviceType……………………………… A service type name. For example: "view", "download", or "invoke".
├─coupledResource…………………… Further description of the data coupling in the case of tightly coupled services.
├─couplingType…………………………… Type of coupling between service and associated data (if exist).
├─extent…………………………………………… Bounding polygon, vertical, and temporal extent of the dataset.
│ ├─description…………………… The spatial and temporal extent for the referring object.
│ ├─geographicElement…… Geographic component of the extent of the referring object.
│ ├─temporalElement………… Temporal component of the extent of the referring object.
│ └─verticalElement………… Vertical component of the extent of the referring object.
└─topicCategory………………………… Main theme(s) of the dataset.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 service identification.Constructs a new instance initialized with the values from the specified metadata object.DefaultServiceIdentification(GenericName serviceType, Citation citation, CharSequence abstracts) Constructs a service identification initialized to the specified values. -
Method Summary
Modifier and TypeMethodDescriptioncastOrCopy(ServiceIdentification object) Returns a SIS metadata implementation with the values of the given arbitrary implementation.Returns information about the availability of the service.Provides information about the chain applied by the service.Provides information about the operations that comprise the service.Returns further description(s) of the data coupling in the case of tightly coupled services.CodeList<?> Returns type of coupling between service and associated data (if exist).Returns the reference(s) to the resource on which the service operates.Provides information on the resources that the service operates on.Returns the profile(s) to which the service adheres.Returns the standard(s) to which the service adheres.Returns a service type name.Returns the versions of the service.voidsetAccessProperties(StandardOrderProcess newValue) Sets information about the availability of the service.voidsetContainsChain(Collection<? extends DefaultOperationChainMetadata> newValues) Sets the information about the chain applied by the service.voidsetContainsOperations(Collection<? extends DefaultOperationMetadata> newValues) Sets information(s) about the operations that comprise the service.voidsetCoupledResources(Collection<? extends DefaultCoupledResource> newValues) Sets further description(s) of the data coupling in the case of tightly coupled services.voidsetCouplingType(CodeList<?> newValue) Sets the type of coupling between service and associated data.voidsetOperatedDatasets(Collection<? extends Citation> newValues) Sets the reference(s) to the resource on which the service operates.voidsetOperatesOn(Collection<? extends DataIdentification> newValues) Sets the information on the resources that the service operates on.voidsetProfiles(Collection<? extends Citation> newValues) Sets the profile(s) to which the service adheres.voidsetServiceStandards(Collection<? extends Citation> newValues) Sets the standard(s) to which the service adheres.voidsetServiceType(GenericName newValue) Sets the service type name.voidsetServiceTypeVersions(Collection<? extends String> newValues) Sets the versions of the service.Methods inherited from class AbstractIdentification
castOrCopy, getAbstract, getAdditionalDocumentations, getAggregationInfo, getAssociatedResources, getCitation, getCredits, getDescriptiveKeywords, getExtents, getGraphicOverviews, getPointOfContacts, getProcessingLevel, getPurpose, getResourceConstraints, getResourceFormats, getResourceMaintenances, getResourceSpecificUsages, getSpatialRepresentationTypes, getSpatialResolutions, getStatus, getTemporalResolutions, getTopicCategories, setAbstract, setAdditionalDocumentations, setAggregationInfo, setAssociatedResources, setCitation, setCredits, setDescriptiveKeywords, setExtents, setGraphicOverviews, setPointOfContacts, setProcessingLevel, setPurpose, setResourceConstraints, setResourceFormats, setResourceMaintenances, setResourceSpecificUsages, setSpatialRepresentationTypes, setSpatialResolutions, setStatus, setTemporalResolutions, setTopicCategoriesModifier and TypeMethodDescriptionstatic AbstractIdentificationcastOrCopy(Identification object) Returns a SIS metadata implementation with the values of the given arbitrary implementation.Returns a brief narrative summary of the resource(s).Returns other documentation associated with the resource.Deprecated.Provides associated resource information.Returns the citation for the resource(s).Returns the recognition of those who contributed to the resource(s).Provides category keywords, their type, and reference source.Returns the spatial and temporal extent of the resource.Provides a graphic that illustrates the resource(s) (should include a legend for the graphic).Returns the identification of, and means of communication with, person(s) and organizations(s) associated with the resource(s).Returns code(s) that identifies the level of processing in the producers coding system of a resource.Returns a summary of the intentions with which the resource(s) was developed.Provides information about constraints which apply to the resource(s).Provides a description of the format of the resource(s).Provides information about the frequency of resource updates, and the scope of those updates.Provides basic information about specific application(s) for which the resource(s) has/have been or is being used by different users.Returns the methods used to spatially represent geographic information.Returns the factor which provides a general understanding of the density of spatial data in the resource(s).Returns the status of the resource(s).Returns the smallest resolvable temporal period in a resource.Returns the main theme(s) of the resource.voidsetAbstract(InternationalString newValue) Sets a brief narrative summary of the resource(s).voidsetAdditionalDocumentations(Collection<? extends Citation> newValues) Sets other documentation associated with the resource.voidsetAggregationInfo(Collection<? extends AggregateInformation> newValues) Deprecated.As of ISO 19115:2014, replaced byAbstractIdentification.setAssociatedResources(Collection).voidsetAssociatedResources(Collection<? extends DefaultAssociatedResource> newValues) Sets associated resource information.voidsetCitation(Citation newValue) Sets the citation for the resource(s).voidsetCredits(Collection<? extends String> newValues) Sets the recognition of those who contributed to the resource(s).voidsetDescriptiveKeywords(Collection<? extends Keywords> newValues) Sets category keywords, their type, and reference source.voidsetExtents(Collection<? extends Extent> newValues) Sets the spatial and temporal extent of the resource.voidsetGraphicOverviews(Collection<? extends BrowseGraphic> newValues) Sets a graphic that illustrates the resource(s).voidsetPointOfContacts(Collection<? extends ResponsibleParty> newValues) Sets the means of communication with persons(s) and organizations(s) associated with the resource(s).voidsetProcessingLevel(Identifier newValue) Sets code that identifies the level of processing in the producers coding system of a resource.voidsetPurpose(InternationalString newValue) Sets a summary of the intentions with which the resource(s) was developed.voidsetResourceConstraints(Collection<? extends Constraints> newValues) Sets information about constraints which apply to the resource(s).voidsetResourceFormats(Collection<? extends Format> newValues) Sets a description of the format of the resource(s).voidsetResourceMaintenances(Collection<? extends MaintenanceInformation> newValues) Sets information about the frequency of resource updates, and the scope of those updates.voidsetResourceSpecificUsages(Collection<? extends Usage> newValues) Sets basic information about specific application(s).voidsetSpatialRepresentationTypes(Collection<? extends SpatialRepresentationType> newValues) Sets the method used to spatially represent geographic information.voidsetSpatialResolutions(Collection<? extends Resolution> newValues) Sets the factor which provides a general understanding of the density of spatial data in the resource(s).voidsetStatus(Collection<? extends Progress> newValues) Sets the status of the resource(s).voidsetTemporalResolutions(Collection<? extends TemporalAmount> newValues) Sets the smallest resolvable temporal period in a resource.voidsetTopicCategories(Collection<? extends TopicCategory> newValues) Sets the main theme(s) of the resource.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.RenamedAbstractMetadata.getStandardType()for integration withLenientComparable.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
-
DefaultServiceIdentification
public DefaultServiceIdentification()Constructs an initially empty service identification. -
DefaultServiceIdentification
public DefaultServiceIdentification(GenericName serviceType, Citation citation, CharSequence abstracts) Constructs a service identification initialized to the specified values.- Parameters:
serviceType- service type name.citation- citation data for the resource(s).abstracts- brief narrative summary of the content of the resource(s).
-
DefaultServiceIdentification
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.- See Also:
-
-
Method Details
-
castOrCopy
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 returnsnull. - Otherwise if the given object is already an instance of
DefaultServiceIdentification, then it is returned unchanged. - Otherwise a new
DefaultServiceIdentificationinstance is created using the copy constructor and returned. Note that this is a shallow copy operation, because the other metadata contained in the given object are not recursively copied.
- Parameters:
object- the object to get as a SIS implementation, ornullif none.- Returns:
- a SIS implementation containing the values of the given object (may be the
given object itself), or
nullif the argument was null.
- If the given object is
-
getServiceType
@UML(identifier="serviceType", obligation=MANDATORY, specification=ISO_19115) public GenericName getServiceType()Returns a service type name.Examples
"discovery", "view", "download", "transformation", or "invoke".- Returns:
- a service type name.
-
setServiceType
Sets the service type name.- Parameters:
newValue- the new service type name.
-
getServiceTypeVersions
@UML(identifier="serviceTypeVersion", obligation=OPTIONAL, specification=ISO_19115) public Collection<String> getServiceTypeVersions()Returns the versions of the service.- Returns:
- the versions of the service.
-
setServiceTypeVersions
Sets the versions of the service.- Parameters:
newValues- the new versions of the service.
-
getAccessProperties
@UML(identifier="accessProperties", obligation=OPTIONAL, specification=ISO_19115) public StandardOrderProcess getAccessProperties()Returns information about the availability of the service.- Returns:
- information about the availability of the service, or
nullif none. - Since:
- 0.5
-
setAccessProperties
Sets information about the availability of the service.- Parameters:
newValue- the new information about the availability of the service.- Since:
- 0.5
-
getCouplingType
@UML(identifier="couplingType", obligation=CONDITIONAL, specification=ISO_19115) public CodeList<?> getCouplingType()Returns type of coupling between service and associated data (if exist).Upcoming API change — specialization
The return type will be changed to theCouplingTypecode list when GeoAPI will provide it (tentatively in GeoAPI 3.1).- Returns:
- type of coupling between service and associated data, or
nullif none.
-
setCouplingType
Sets the type of coupling between service and associated data.Upcoming API change — specialization
The argument type will be changed to theCouplingTypecode 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:
newValue- the new type of coupling between service and associated data.
-
getCoupledResources
@UML(identifier="coupledResource", obligation=CONDITIONAL, specification=ISO_19115) public Collection<DefaultCoupledResource> getCoupledResources()Returns further description(s) of the data coupling in the case of tightly coupled services.Upcoming API change — generalization
The element type will be changed to theCoupledResourceinterface when GeoAPI will provide it (tentatively in GeoAPI 3.1).- Returns:
- further description(s) of the data coupling in the case of tightly coupled services.
-
setCoupledResources
Sets further description(s) of the data coupling in the case of tightly coupled services.Upcoming API change — generalization
The element type will be changed to theCoupledResourceinterface when GeoAPI will provide it (tentatively in GeoAPI 3.1).- Parameters:
newValues- the new further description(s) of the data coupling.
-
getOperatedDatasets
@UML(identifier="operatedDataset", obligation=OPTIONAL, specification=ISO_19115) public Collection<Citation> getOperatedDatasets()Returns the reference(s) to the resource on which the service operates.- Returns:
- reference(s) to the resource on which the service operates.
- Since:
- 0.5
-
setOperatedDatasets
Sets the reference(s) to the resource on which the service operates.- Parameters:
newValues- the new reference(s) to the resource on which the service operates.- Since:
- 0.5
-
getProfiles
@UML(identifier="profile", obligation=OPTIONAL, specification=ISO_19115) public Collection<Citation> getProfiles()Returns the profile(s) to which the service adheres.- Returns:
- profile(s) to which the service adheres.
- Since:
- 0.5
-
setProfiles
Sets the profile(s) to which the service adheres.- Parameters:
newValues- the new profile(s) to which the service adheres.
-
getServiceStandards
@UML(identifier="serviceStandard", obligation=OPTIONAL, specification=ISO_19115) public Collection<Citation> getServiceStandards()Returns the standard(s) to which the service adheres.- Returns:
- standard(s) to which the service adheres.
- Since:
- 0.5
-
setServiceStandards
Sets the standard(s) to which the service adheres.- Parameters:
newValues- the new standard(s) to which the service adheres.- Since:
- 0.5
-
getContainsOperations
@UML(identifier="containsOperations", obligation=OPTIONAL, specification=ISO_19115) public Collection<DefaultOperationMetadata> getContainsOperations()Provides information about the operations that comprise the service.Upcoming API change — generalization
The element type will be changed to theOperationMetadatainterface when GeoAPI will provide it (tentatively in GeoAPI 3.1).- Returns:
- information about the operations that comprise the service.
-
setContainsOperations
Sets information(s) about the operations that comprise the service.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 information(s) about the operations that comprise the service.
-
getOperatesOn
@UML(identifier="operatesOn", obligation=OPTIONAL, specification=ISO_19115) public Collection<DataIdentification> getOperatesOn()Provides information on the resources that the service operates on.- Returns:
- information on the resources that the service operates on.
-
setOperatesOn
Sets the information on the resources that the service operates on.- Parameters:
newValues- the new information on the resources that the service operates on.
-
getContainsChain
@UML(identifier="containsChain", obligation=OPTIONAL, specification=ISO_19115) public Collection<DefaultOperationChainMetadata> getContainsChain()Provides information about the chain applied by the service.Upcoming API change — generalization
The element type will be changed to theOperationChainMetadatainterface when GeoAPI will provide it (tentatively in GeoAPI 3.1).- Returns:
- information about the chain applied by the service.
- Since:
- 0.5
-
setContainsChain
Sets the information about the chain applied by the service.Upcoming API change — generalization
The element type will be changed to theOperationChainMetadatainterface when GeoAPI will provide it (tentatively in GeoAPI 3.1).- Parameters:
newValues- the new information about the chain applied by the service.- Since:
- 0.5
-
AbstractIdentification.getAssociatedResources().