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
ConstructorsConstructorDescriptionConstructs aTLcdFeaturedShapeListthat doesn't have anyILcdShapeobjects, features, or display name.TLcdFeaturedShapeList(ILcdShape[] aShapeArray, ILcdBounds aBounds) Constructs aTLcdFeaturedShapeListwith the given array of shapes.TLcdFeaturedShapeList(TLcdFeaturedShapeList aFeaturedShapeList) Constructs aTLcdFeaturedShapeListthat is a clone of the givenTLcdFeaturedShapeList.TLcdFeaturedShapeList(String aDisplayName) Constructs aTLcdFeaturedShapeListthat doesn't have anyILcdShapeobjects or features, with the given display name.TLcdFeaturedShapeList(String aDisplayName, ILcdFeatured aFeaturesObject) Constructs aTLcdFeaturedShapeListthat doesn't have anyILcdShapeobjects, with the given features and display name. -
Method Summary
Modifier and TypeMethodDescriptionbooleancanSetFeature(int aIndex) Checks whether the specified feature is editable.clone()Creates and returns a copy of this object.booleanReturns 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.intReturns 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 ObjectgetFeature(int aIndex) Returns the featureObjectat the given index.final intReturns 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.inthashCode()The hash code of this shape is the hash code of its class, in order to be consistent with theALcdShape.equals(Object)method.booleanhasValue(TLcdDataProperty aProperty) Indicates whether this data object has a value for the given property.booleanIndicates whether this data object has a value for the given property.voidsetDefaultDisplayNameIndex(int aDefaultDisplayNameIndex) Sets the index of the feature to use as display name, if the display name has not been specified explicitly.voidsetFeature(int aIndex, Object aFeature) Sets the featureObjectat the given index.voidsetFeatures(ILcdFeatured aFeatured) Sets the features to this object.voidsetValue(TLcdDataProperty aProperty, Object aValue) Sets the value of the given property for this data object.voidConvenience 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, shapesChangedMethods inherited from class com.luciad.shape.ALcdShapeList
calculateFocusPoint, clearCache, contains2D, contains3D, getBounds, getCachedObject, getFocusPoint, insertIntoCache, invalidateBounds, invalidateObject, removeCachedObject, setFocusPointMethods inherited from class com.luciad.shape.ALcdShape
contains2D, contains3D, fromDomainObjectMethods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface com.luciad.shape.ILcdBounded
getBoundsMethods inherited from interface com.luciad.shape.ILcdShape
contains2D, contains2D, contains3D, contains3D, getFocusPoint
-
Constructor Details
-
TLcdFeaturedShapeList
public TLcdFeaturedShapeList()Constructs aTLcdFeaturedShapeListthat doesn't have anyILcdShapeobjects, features, or display name. -
TLcdFeaturedShapeList
Constructs aTLcdFeaturedShapeListthat doesn't have anyILcdShapeobjects or features, with the given display name.- Parameters:
aDisplayName- a display name.
-
TLcdFeaturedShapeList
Constructs aTLcdFeaturedShapeListthat doesn't have anyILcdShapeobjects, with the given features and display name.- Parameters:
aDisplayName- a display name.aFeaturesObject- a set of features
-
TLcdFeaturedShapeList
Constructs aTLcdFeaturedShapeListwith 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, ornullif unknown.
-
TLcdFeaturedShapeList
Constructs aTLcdFeaturedShapeListthat is a clone of the givenTLcdFeaturedShapeList.- Parameters:
aFeaturedShapeList- theTLcdFeaturedShapeListto clone.
-
-
Method Details
-
getFeatureCount
public final int getFeatureCount()Description copied from interface:ILcdFeaturedReturns the number of features.- Specified by:
getFeatureCountin interfaceILcdFeatured- Returns:
- the number of features.
-
getFeature
Description copied from interface:ILcdFeaturedReturns the featureObjectat the given index.- Specified by:
getFeaturein interfaceILcdFeatured- Parameters:
aIndex- a valid feature index.- Returns:
- the feature
Objectat the given index. - Throws:
IndexOutOfBoundsException- when an index is chosen greater than the result of getFeatureCount.- See Also:
-
setFeature
Description copied from interface:ILcdFeaturedSets the featureObjectat the given index.- Specified by:
setFeaturein interfaceILcdFeatured- Parameters:
aIndex- a valid feature index.aFeature- the new featureObject.- See Also:
-
canSetFeature
public boolean canSetFeature(int aIndex) Description copied from interface:ILcdFeaturedChecks whether the specified feature is editable.- Specified by:
canSetFeaturein 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:
clonein interfaceILcdCloneable- Overrides:
clonein 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:
equalsin classALcdShapeList
-
hashCode
public int hashCode()Description copied from class:ALcdShapeThe 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:
hashCodein classALcdShapeList
-
toString
Returns the display name.- Overrides:
toStringin classALcdShapeList- Returns:
- the display name.
-
getValue
Description copied from interface:ILcdDataObjectReturns 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 typeor in one of its super types. Otherwise anIllegalArgumentExceptionis thrown.- Specified by:
getValuein 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:ILcdDataObjectReturns the type of this data object. This can never benull.- Specified by:
getDataTypein interfaceILcdDataObject- Returns:
- the type of this data object
-
setValue
Description copied from interface:ILcdDataObjectSets 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 typeor 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:
setValuein interfaceILcdDataObject- Parameters:
aProperty- the property for which the value is to be setaValue- the value to set- See Also:
-
getValue
Description copied from interface:ILcdDataObjectConvenience 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:
getValuein 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:ILcdDataObjectConvenience 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:
setValuein 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:ILcdDataObjectIndicates whether this data object has a value for the given property.aPropertyis from theright data type, and this instance has a value for it: returnstrueaPropertyis from theright data type, and this instance has no value for it: returnsfalseaPropertyis not from theright data type: not allowed, you will get IllegalArgumentExceptionaPropertyisnull: not allowed, you will get NullPointerException
- Specified by:
hasValuein interfaceILcdDataObject- Parameters:
aProperty- the property for which to return whether a value is present or not.- Returns:
trueif this data object has a value for the given property,falseotherwise.
-
hasValue
Description copied from interface:ILcdDataObjectIndicates whether this data object has a value for the given property.
SeeILcdDataObject.hasValue(TLcdDataProperty)for more information.- Specified by:
hasValuein interfaceILcdDataObject- Parameters:
aPropertyName- the name of the property for which to return whether a value is present or not.- Returns:
trueif this data object has a value for the property with the given name,falseotherwise.
-