Class TLcdAIXM51AbstractAIXMFeature
- All Implemented Interfaces:
ILcdDataObject
,ILcdBounded
,ILcdShape
,ILcdShapeList
,ILcdCache
,ILcdCloneable
,ILcdDeepCloneable
,ILcdInvalidateable
,Serializable
,Cloneable
- Direct Known Subclasses:
TLcdAIXM51Feature
A feature consists of a set of timeslices, that each represent the state of the feature during a
certain time extent. The timeslices can be retrieved through the method getTimeSlices()
.
A feature can either be stand-alone, or contained inside a message, represented by the class
TLcdAIXM51AbstractAIXMMessage
.
A feature implements ILcdShapeList
and can contain a set of shapes, depending on
the
type
of feature (e.g., some features do not have a geographical position).
To determine the geometry of a feature, the method collectShapes()
is invoked by
the AIXM 5.1 Message that contains this feature.
Each timeslice in this feature is an ILcdShapeList
, which can potentially
be added to the list of shapes in this feature. The method collectShapes()
runs by default over all timeslices and adds them to the list of shapes in this feature,
if they are accepted by the geometry filter (see getGeometryFilter()
) or if no filter is
set.
- Since:
- 10.0
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final TLcdDataProperty
Data property that maps to theboundedBy
element.static final TLcdDataProperty
Data property that maps to thefeatureMetadata
element.static final TLcdDataProperty
Data property that maps to thelocation
element.Fields inherited from class com.luciad.format.gml32.model.TLcdGML32DynamicFeature
DATA_SOURCE_PROPERTY, DATA_SOURCE_REFERENCE_PROPERTY, HISTORY_PROPERTY, VALID_TIME_PROPERTY
Fields inherited from class com.luciad.format.gml32.model.TLcdGML32AbstractGML
DESCRIPTION_PROPERTY, DESCRIPTION_REFERENCE_PROPERTY, ID_PROPERTY, IDENTIFIER_PROPERTY, META_DATA_PROPERTY_PROPERTY, NAME_PROPERTY
-
Constructor Summary
ConstructorDescriptionConstructs a newTLcdAIXM51AbstractAIXMFeature
for the given type. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Clears the cache.Returns a deep clone of this object.Override this method to collect all shapes that needs to be included in the ILcdShapeList implementation of this feature.Returns the value of the property that maps to theboundedBy
element.Returns the bounds of this feature.getCachedObject
(Object aKey) Looks up and returns the cached Object corresponding to the given key.Returns the value of the property that maps to thefeatureMetadata
element.Returns the focus point of thisILcdShape
.Returns the filter that is used to determine the timeslices for which the geometry has to be taken into account.Returns the value of the property that maps to thelocation
element.Returns a list of objects corresponding to AIXM 5.1 types with base typeAbstractAIXMTimeSliceType
.void
insertIntoCache
(Object aKey, Object aValue) Inserts a cache Object corresponding to the given key Object.removeCachedObject
(Object aKey) Looks up and removes the cached Object corresponding to the given key.void
setBoundedBy
(TLcdGML32BoundingShape aValue) Sets the value of the property that maps to theboundedBy
element.void
Sets the value of the property that maps to thefeatureMetadata
element.void
setGeometryFilter
(ILcdFilter aGeometryFilter) Sets the filter that is used to determine the timeslices for which the geometry has to be taken into account.void
setLocation
(Object aValue) Sets the value of the property that maps to thelocation
element.void
Notifies thisILcdShapeList
that some (possibly all) of its shapes have changed.Methods inherited from class com.luciad.format.gml32.model.TLcdGML32DynamicFeature
getDataSource, getDataSourceReference, getHistory, getValidTime, setDataSource, setDataSourceReference, setHistory, setValidTime
Methods inherited from class com.luciad.format.gml32.model.TLcdGML32AbstractFeature
clone, contains2D, contains2D, contains3D, contains3D, getShape, getShapeCount, invalidateObject
Methods inherited from class com.luciad.format.gml32.model.TLcdGML32AbstractGML
getDescription, getDescriptionReference, getId, getIdentifier, getMetaDataProperty, getName, setDescription, setDescriptionReference, setId, setIdentifier
Methods inherited from class com.luciad.datamodel.TLcdDataObject
getDataType, getValue, getValue, hasValue, hasValue, setValue, setValue, toString
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.luciad.util.ILcdCloneable
clone
Methods inherited from interface com.luciad.shape.ILcdShape
contains2D, contains2D, contains3D, contains3D
Methods inherited from interface com.luciad.shape.ILcdShapeList
getShape, getShapeCount
-
Field Details
-
FEATURE_METADATA_PROPERTY
Data property that maps to thefeatureMetadata
element. The possible values for this property are instances ofTLcdAIXM51FeatureMetadataProperty
. -
BOUNDED_BY_PROPERTY
Data property that maps to theboundedBy
element. The possible values for this property are instances ofTLcdGML32BoundingShape
. -
LOCATION_PROPERTY
Data property that maps to thelocation
element. The possible values for this property are instances ofTLcdGML32LocationProperty
.
-
-
Constructor Details
-
TLcdAIXM51AbstractAIXMFeature
Constructs a newTLcdAIXM51AbstractAIXMFeature
for the given type. This type must be a subtype ofAbstractAIXMFeatureType
.- Parameters:
aType
- the feature type for which to create a new instance
-
-
Method Details
-
getGeometryFilter
Returns the filter that is used to determine the timeslices for which the geometry has to be taken into account. By default, anILcdFilter
is set that only takes the geometry ofBASELINE
andSNAPSHOT
timeslices into account.- Returns:
- the filter that is used to determine the timeslices for which the geometry has to be taken into account.
- See Also:
-
setGeometryFilter
Sets the filter that is used to determine the timeslices for which the geometry has to be taken into account.- Parameters:
aGeometryFilter
- the filter that is used to determine the timeslices for which the geometry has to be taken into account.- See Also:
-
getTimeSlices
Returns a list of objects corresponding to AIXM 5.1 types with base typeAbstractAIXMTimeSliceType
. This list can be used to add and remove timeslices from this feature. It will also create the necessary timeslice properties when timeslices are added to this feature, to ensure a valid XML mapping.- Returns:
- A list of timeslices. Unless the default mapping is changed, the objects in the
List
should be of typeTLcdAIXM51AbstractAIXMTimeSlice
.
-
getBounds
Returns the bounds of this feature.If this feature contains actual shapes, the bounding box of these shapes is returned. If no geometry is found, the
boundedBy
element is used as bounds if available; otherwise, the result ofTLcdGML32AbstractFeature.getBounds()
is returned.- Specified by:
getBounds
in interfaceILcdBounded
- Overrides:
getBounds
in classTLcdGML32AbstractFeature
- Returns:
- the bounds of this feature.
-
getFocusPoint
Description copied from interface:ILcdShape
Returns the focus point of thisILcdShape
.- Specified by:
getFocusPoint
in interfaceILcdShape
- Overrides:
getFocusPoint
in classTLcdGML32AbstractFeature
- Returns:
- the focus point of this
ILcdShape
.
-
shapesChanged
public void shapesChanged()Description copied from class:TLcdGML32AbstractFeature
Notifies thisILcdShapeList
that some (possibly all) of its shapes have changed. This method should be called whenever a shape in this GML feature has been changed, or when a shape is inserted in or removed in one the properties of this GML feature. This method is the same asTLcdGML32AbstractFeature.invalidateObject()
.- Overrides:
shapesChanged
in classTLcdGML32AbstractFeature
-
clone
Description copied from class:TLcdDataObject
Returns a deep clone of this object. If the clone is not already present in the dictionary, a new instance if created as follows:- First, a new instance is created using Java's clone() mechanism.
- Then, all properties of this object are cloned and set on the newly created
instance. A property is cloned as follows:
- If the property value is an
ILcdDataObject
, the value is cloned by first creating a new instance via thevalue.getDataType().newInstance()
method, and then cloning its properties one by one. - If the value implements
ILcdDeepCloneable
orILcdCloneable
then this interface is used to clone the value. - Otherwise, the property value is copied by reference.
- If the property value is an
- Specified by:
clone
in interfaceILcdDeepCloneable
- Overrides:
clone
in classTLcdGML32AbstractFeature
- Parameters:
aObjectDictionary
- the Object dictionary that keeps track of the objects for which a clone has already been made, and their corresponding clone Object.- Returns:
- a deep clone of this object
-
collectShapes
Description copied from class:TLcdGML32AbstractFeature
Override this method to collect all shapes that needs to be included in the ILcdShapeList implementation of this feature. The default implementation recursively searches through all features of thisILcdDataObject
for all features implementingILcdShape
.- Overrides:
collectShapes
in classTLcdGML32AbstractFeature
- Returns:
- the list of shapes contained in this object.
-
insertIntoCache
Description copied from interface:ILcdCache
Inserts a cache Object corresponding to the given key Object.- Specified by:
insertIntoCache
in interfaceILcdCache
- Parameters:
aKey
- the key Object that will be used to identify the Object. The key must therefore be a unique identifier, typically the caller itself:insertIntoCache(this, ...)
.aValue
- the Object to be cached.
-
removeCachedObject
Description copied from interface:ILcdCache
Looks up and removes the cached Object corresponding to the given key.- Specified by:
removeCachedObject
in interfaceILcdCache
- Parameters:
aKey
- the key Object that was used for storing the cache Object.- Returns:
- the cached Object, or null if there was no Object corresponding to the given key.
-
clearCache
public void clearCache()Description copied from interface:ILcdCache
Clears the cache.- Specified by:
clearCache
in interfaceILcdCache
-
getCachedObject
Description copied from interface:ILcdCache
Looks up and returns the cached Object corresponding to the given key.- Specified by:
getCachedObject
in interfaceILcdCache
- Parameters:
aKey
- the key Object that was used for storing the cache Object.- Returns:
- the cached Object, or null if there is no Object corresponding to the given key.
-
getFeatureMetadata
Returns the value of the property that maps to thefeatureMetadata
element.- Returns:
- the value of the
FEATURE_METADATA_PROPERTY
property.
-
setFeatureMetadata
Sets the value of the property that maps to thefeatureMetadata
element.- Parameters:
aValue
- the value to set for theFEATURE_METADATA_PROPERTY
property.
-
getBoundedBy
Returns the value of the property that maps to theboundedBy
element.This property describes the minimum bounding box or rectangle that encloses the entire feature.
- Returns:
- the value of the
BOUNDED_BY_PROPERTY
property.
-
setBoundedBy
Sets the value of the property that maps to theboundedBy
element.This property describes the minimum bounding box or rectangle that encloses the entire feature.
- Parameters:
aValue
- the value to set for theBOUNDED_BY_PROPERTY
property.
-
getLocation
Returns the value of the property that maps to thelocation
element.- Returns:
- the value of the
LOCATION_PROPERTY
property. - See Also:
-
setLocation
Sets the value of the property that maps to thelocation
element.- Parameters:
aValue
- the value to set for theLOCATION_PROPERTY
property.
-