public abstract class ALfnResourceMetadata extends Object
null
null
if unspecifiednull
if unspecified)NEW_UPDATE_SEQUENCE
if unspecified.
The update sequence increases whenever a resource's metadata is modified; it is used to check for concurrent modifications.
A higher update sequence indicates a more recent versionnull
if unspecifiedInstances of this class are immutable and thus thread-safe.
This class and its subclasses implement a Builder design pattern: the resource metadata is immutable and cannot be instantiated directly. Instantiation and modification should go via a corresponding builder. Also a builder cannot be instantiated directly, it must be created via a static factory method on the concrete subclasses.
This class and its subclasses implement a Visitor design pattern, see ALfnResourceMetadataVisitor
.
The properties of resource metadata can be queried using OGC Filters, via ALfnTileStore.query(com.luciad.fusion.tilestore.ILfnQueryHandler, com.luciad.fusion.tilestore.TLfnQuery)
.
The OGC Filter XPath expression corresponding to a property is documented with each getter.
The XML namespace prefixes used in the documentation are as follows:
lts
: the Luciad Tile Store namespace xlink
: the XML Linking Language namespace gmd
: the ISO 19115 Geographic Metadata namespace gco
: the ISO 19115 Geographic Common namespace ALfnResourceMetadata.Builder
Modifier and Type | Class and Description |
---|---|
static class |
ALfnResourceMetadata.Builder<B extends ALfnResourceMetadata.Builder<B>>
Abstract builder for resource metadata.
|
Modifier and Type | Field and Description |
---|---|
static String |
ISO19115_GCO_XML_NAMESPACE
XML namespace for ISO19115 Geographic Common elements.
|
static String |
ISO19115_GMD_XML_NAMESPACE
XML namespace for ISO19115 Geographic Metadata elements.
|
static String |
LTS_XML_NAMESPACE
XML namespace for Luciad Tile Store elements.
|
static long |
NEW_UPDATE_SEQUENCE
Update sequence for a new or unknown resource.
|
static String |
XLINK_XML_NAMESPACE
XML namespace for xlink elements.
|
Modifier and Type | Method and Description |
---|---|
abstract void |
accept(ALfnResourceMetadataVisitor aVisitor)
Accepts the visitor for visiting this resource.
|
abstract ALfnResourceMetadata.Builder<?> |
asBuilder()
Creates a new builder from this resource metadata.
|
boolean |
equals(Object aObject) |
String |
getAbstract()
Gets the abstract of this asset.
|
long |
getGlobalUpdateSequence()
Returns a number representing when the data was last modified.
|
String |
getId()
Gets the ID of this resource, which is never
null . |
TLcdISO19115Metadata |
getISO19115Metadata()
Gets the ISO 19115 metadata of this resource, or
null if none. |
String |
getName()
Gets the name of this resource, or
null if none. |
long |
getUpdateSequence()
Gets the update sequence (version) of this resource, which is never negative.
|
int |
hashCode() |
String |
toString()
Gets the ID of this resource as a string representation.
|
public static final String LTS_XML_NAMESPACE
public static final String XLINK_XML_NAMESPACE
public static final String ISO19115_GMD_XML_NAMESPACE
public static final String ISO19115_GCO_XML_NAMESPACE
public static final long NEW_UPDATE_SEQUENCE
public final String getId()
null
.
The default ID is a UUID.
OGC filter property XPath: @id
ID query is also supported directly using the OGC Filter object ID query.
public final String getName()
null
if none.
OGC filter property XPath: lts:Name
null
if nonepublic String getAbstract()
OGC filter property XPath: lts:Abstract
null
if unspecifiedpublic final long getUpdateSequence()
0
.
OGC filter property XPath: @updateSequence
public TLcdISO19115Metadata getISO19115Metadata()
null
if none.
OGC filter property XPath: gmd:MD_Metadata
Please refer to the ISO 19139:2007 specification for the XML schemas of ISO 19115 metadata.
Sample XPaths:
/gmd:MD_Metadata/gmd:language/gco:CharacterString
//gmd:CI_ResponsibleParty/gmd:individualName/gco:CharacterString
//gmd:MD_ClassificationCode
null
if nonepublic final long getGlobalUpdateSequence()
Returns a number representing when the data was last modified.
A resource has a unique identifier across all tile stores (the getId()) indicating/identifying the resource. When a resource is updated (e.g. more recent data became available), the identifier remains unchanged. In order to indicate that the updated resource is a "newer" version of the same data, the last modified number of the updated resource will be larger then the modified number of the original resource.
This mechanism allows to compare two tile stores and identify for each resource:
getId()
.
This number is automatically managed by LuciadFusion.
While there is a method available on the Builder
,
you are not supposed to call this method yourself.
Note that this is not the same as the update sequence. The update sequence is a tile store specific version number and cannot be used to compare resource versions across different tile stores.
public final String toString()
public abstract void accept(ALfnResourceMetadataVisitor aVisitor)
aVisitor
- the visitorALfnResourceMetadataVisitor
public abstract ALfnResourceMetadata.Builder<?> asBuilder()