Class TLcdFeaturedShapeList
- All Implemented Interfaces:
ILcdDataObject
,ILcdBounded
,ILcdEditableShapeList
,ILcdShape
,ILcdShapeList
,ILcdCache
,ILcdCloneable
,ILcdFeatured
,ILcdInvalidateable
,Serializable
,Cloneable
- Direct Known Subclasses:
TLcdMIFCollection
,TLcdMIFMultipoint
,TLcdMIFPLine
,TLcdMIFRegion
,TLcdMIFText
ILcdShapeList
that is
also ILcdDataObject
and ILcdFeatured
.
This class is typically used in situations that require both ILcdDataObject
and ILcdFeatured
. In case only ILcdDataObject
is required,
TLcdDataObjectShapeList
should be used.
A TLcdFeaturedShapeList
has a display name, which can be set freely.
If the display name has not been set explicitly, it is retrieved
from the list of features through a default display name index. The
value of this index can be set; its default value is 0.
This class is thread-safe for concurrent read-only access of its contents. For read-write access, external locking must be used. Such locking is typically done at the model level.
- See Also:
-
Constructor Summary
ConstructorDescriptionConstructs aTLcdFeaturedShapeList
that doesn't have anyILcdShape
objects, features, or display name.TLcdFeaturedShapeList
(ILcdShape[] aShapeArray, ILcdBounds aBounds) Constructs aTLcdFeaturedShapeList
with the given array of shapes.TLcdFeaturedShapeList
(TLcdFeaturedShapeList aFeaturedShapeList) Constructs aTLcdFeaturedShapeList
that is a clone of the givenTLcdFeaturedShapeList
.TLcdFeaturedShapeList
(String aDisplayName) Constructs aTLcdFeaturedShapeList
that doesn't have anyILcdShape
objects or features, with the given display name.TLcdFeaturedShapeList
(String aDisplayName, ILcdFeatured aFeaturesObject) Constructs aTLcdFeaturedShapeList
that doesn't have anyILcdShape
objects, with the given features and display name. -
Method Summary
Modifier and TypeMethodDescriptionboolean
canSetFeature
(int aIndex) Checks whether the specified feature is editable.clone()
Creates and returns a copy of this object.boolean
Returns whether the given object has the same class, the same coordinates, the same features, and the same display name.Returns the type of this data object.int
Returns the current index of the feature to use as display name, if the display name has not been specified explicitly.Returns the name for this object to be used for display.final Object
getFeature
(int aIndex) Returns the featureObject
at the given index.final int
Returns the number of features.Returns the features of this object.getValue
(TLcdDataProperty aProperty) Returns the value of the given property.Convenience method that returns the value of the property with the given name.int
hashCode()
The hash code of this shape is the hash code of its class, in order to be consistent with theALcdShape.equals(Object)
method.boolean
hasValue
(TLcdDataProperty aProperty) Indicates whether this data object has a value for the given property.boolean
Indicates whether this data object has a value for the given property.void
setDefaultDisplayNameIndex
(int aDefaultDisplayNameIndex) Sets the index of the feature to use as display name, if the display name has not been specified explicitly.void
setFeature
(int aIndex, Object aFeature) Sets the featureObject
at the given index.void
setFeatures
(ILcdFeatured aFeatured) Sets the features to this object.void
setValue
(TLcdDataProperty aProperty, Object aValue) Sets the value of the given property for this data object.void
Convenience method that sets the value of the property with the given name.toString()
Returns the display name.Methods inherited from class com.luciad.shape.TLcdShapeList
addShape, addShape, addShapes, clearShapes, getShape, getShapeCount, removeShape, removeShape, removeShapes, setShape, setShape, setShapes, shapeChanged, shapeChanged, shapesChanged
Methods inherited from class com.luciad.shape.ALcdShapeList
calculateFocusPoint, clearCache, contains2D, contains3D, getBounds, getCachedObject, getFocusPoint, insertIntoCache, invalidateBounds, invalidateObject, removeCachedObject, setFocusPoint
Methods inherited from class com.luciad.shape.ALcdShape
contains2D, contains3D, fromDomainObject
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.luciad.shape.ILcdBounded
getBounds
Methods inherited from interface com.luciad.shape.ILcdShape
contains2D, contains2D, contains3D, contains3D, getFocusPoint
-
Constructor Details
-
TLcdFeaturedShapeList
public TLcdFeaturedShapeList()Constructs aTLcdFeaturedShapeList
that doesn't have anyILcdShape
objects, features, or display name. -
TLcdFeaturedShapeList
Constructs aTLcdFeaturedShapeList
that doesn't have anyILcdShape
objects or features, with the given display name.- Parameters:
aDisplayName
- a display name.
-
TLcdFeaturedShapeList
Constructs aTLcdFeaturedShapeList
that doesn't have anyILcdShape
objects, with the given features and display name.- Parameters:
aDisplayName
- a display name.aFeaturesObject
- a set of features
-
TLcdFeaturedShapeList
Constructs aTLcdFeaturedShapeList
with the given array of shapes.- Parameters:
aShapeArray
- the shape array for this shape list.aBounds
- the total bounds of this shape list, if known at construction time, ornull
if unknown.
-
TLcdFeaturedShapeList
Constructs aTLcdFeaturedShapeList
that is a clone of the givenTLcdFeaturedShapeList
.- Parameters:
aFeaturedShapeList
- theTLcdFeaturedShapeList
to clone.
-
-
Method Details
-
getFeatureCount
public final int getFeatureCount()Description copied from interface:ILcdFeatured
Returns the number of features.- Specified by:
getFeatureCount
in interfaceILcdFeatured
- Returns:
- the number of features.
-
getFeature
Description copied from interface:ILcdFeatured
Returns the featureObject
at the given index.- Specified by:
getFeature
in interfaceILcdFeatured
- Parameters:
aIndex
- a valid feature index.- Returns:
- the feature
Object
at the given index. - Throws:
IndexOutOfBoundsException
- when an index is chosen greater than the result of getFeatureCount.- See Also:
-
setFeature
Description copied from interface:ILcdFeatured
Sets the featureObject
at the given index.- Specified by:
setFeature
in interfaceILcdFeatured
- Parameters:
aIndex
- a valid feature index.aFeature
- the new featureObject
.- See Also:
-
canSetFeature
public boolean canSetFeature(int aIndex) Description copied from interface:ILcdFeatured
Checks whether the specified feature is editable.- Specified by:
canSetFeature
in interfaceILcdFeatured
- Parameters:
aIndex
- a valid feature index.- Returns:
- true if the feature can be set, false otherwise.
-
setFeatures
Sets the features to this object.- Parameters:
aFeatured
- the features to set to this object.- See Also:
-
getFeatures
Returns the features of this object.- Returns:
- the features of this object.
- See Also:
-
getDisplayName
Returns the name for this object to be used for display.- Returns:
- the display name when set, the feature with the default display name index otherwise.
- See Also:
-
setDefaultDisplayNameIndex
public void setDefaultDisplayNameIndex(int aDefaultDisplayNameIndex) Sets the index of the feature to use as display name, if the display name has not been specified explicitly. The default value is 0.- Parameters:
aDefaultDisplayNameIndex
- a valid index in the list of features.- See Also:
-
getDefaultDisplayNameIndex
public int getDefaultDisplayNameIndex()Returns the current index of the feature to use as display name, if the display name has not been specified explicitly.- Returns:
- the current index of the feature to use as display name, if the display name has not been specified explicitly.
- See Also:
-
clone
Creates and returns a copy of this object. The shape array and the contained feature list are copied without being cloned.- Specified by:
clone
in interfaceILcdCloneable
- Overrides:
clone
in classTLcdShapeList
- See Also:
-
equals
Returns whether the given object has the same class, the same coordinates, the same features, and the same display name.- Overrides:
equals
in classALcdShapeList
-
hashCode
public int hashCode()Description copied from class:ALcdShape
The hash code of this shape is the hash code of its class, in order to be consistent with theALcdShape.equals(Object)
method. Extensions should refine this implementation, based on their properties.- Overrides:
hashCode
in classALcdShapeList
-
toString
Returns the display name.- Overrides:
toString
in classALcdShapeList
- Returns:
- the display name.
-
getValue
Description copied from interface:ILcdDataObject
Returns the value of the given property.
If the property is a collection, the returned value will never be null. If the property has not been set, an empty collection of the appropriate type will be returned (Set, List or Map).
The property must not be null, and must be declared in the
data object's type
or in one of its super types. Otherwise anIllegalArgumentException
is thrown.- Specified by:
getValue
in interfaceILcdDataObject
- Parameters:
aProperty
- the property for which the value is to be returned- Returns:
- the value of the given property for this data object
-
getDataType
Description copied from interface:ILcdDataObject
Returns the type of this data object. This can never benull
.- Specified by:
getDataType
in interfaceILcdDataObject
- Returns:
- the type of this data object
-
setValue
Description copied from interface:ILcdDataObject
Sets the value of the given property for this data object. The implementation is allowed to throw an exception if the given value can't be set.
The given property must be declared in thedata object's type
or in one of its super types. In other words, getDataType().getProperties().contains( aProperty ) should always be true. Otherwise, the implementation should throw anIllegalArgumentException
.- Specified by:
setValue
in interfaceILcdDataObject
- Parameters:
aProperty
- the property for which the value is to be setaValue
- the value to set- See Also:
-
getValue
Description copied from interface:ILcdDataObject
Convenience method that returns the value of the property with the given name.
If more than one property exists with the given name, the most specific property should be used (this is the property defined by the most specialized type in this object's data type hierarchy). SeeILcdDataObject.getValue(TLcdDataProperty)
for more information.- Specified by:
getValue
in interfaceILcdDataObject
- Parameters:
aPropertyName
- the name of the property of which the value is to be returned- Returns:
- the value of the property with the given name
- See Also:
-
setValue
Description copied from interface:ILcdDataObject
Convenience method that sets the value of the property with the given name.
If more than one property exists with the given name, the most specific property should be used (this is the property defined by the most specialized type in this object's data type hierarchy). SeeILcdDataObject.setValue(TLcdDataProperty, Object)
for more information.- Specified by:
setValue
in interfaceILcdDataObject
- Parameters:
aPropertyName
- the name of the property of which the value is to be setaValue
- the value to set
-
hasValue
Description copied from interface:ILcdDataObject
Indicates whether this data object has a value for the given property.aProperty
is from theright data type
, and this instance has a value for it: returnstrue
aProperty
is from theright data type
, and this instance has no value for it: returnsfalse
aProperty
is not from theright data type
: not allowed, you will get IllegalArgumentExceptionaProperty
isnull
: not allowed, you will get NullPointerException
- Specified by:
hasValue
in interfaceILcdDataObject
- Parameters:
aProperty
- the property for which to return whether a value is present or not.- Returns:
true
if this data object has a value for the given property,false
otherwise.
-
hasValue
Description copied from interface:ILcdDataObject
Indicates whether this data object has a value for the given property.
SeeILcdDataObject.hasValue(TLcdDataProperty)
for more information.- Specified by:
hasValue
in interfaceILcdDataObject
- Parameters:
aPropertyName
- the name of the property for which to return whether a value is present or not.- Returns:
true
if this data object has a value for the property with the given name,false
otherwise.
-