Package com.luciad.format.s57
Class TLcdS57FeatureObject
java.lang.Object
com.luciad.format.s57.TLcdS57FeatureObject
- All Implemented Interfaces:
ILcdDataObject
,ILcdS57FeatureObject
,ILcdCloneable
,ILcdFeatured
,Serializable
,Cloneable
public class TLcdS57FeatureObject
extends Object
implements ILcdDataObject, ILcdFeatured, ILcdCloneable
Default implementation of
ILcdS57FeatureObject
.
The ILcdDataObject
interface is only supported if the ILcdS57Identifier
identifier that is configured on this object is an instance of TLcdS57Identifier
(the
ILcdS57Identifier
interface does not provide access to the object class descriptor and
data type of the S-57 object class, only the concrete class TLcdS57Identifier
does). In
case the interface is not supported, the data type of this object will be
TLcdUnknownDataTypes.UNKNOWN_TYPE
, and it will have no properties.- See Also:
-
Field Summary
Fields inherited from interface com.luciad.format.s57.ILcdS57FeatureObject
AREA, LINE, NONE, POINT
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
canSetFeature
(int aIndex) Checks whether the specified feature is editable.clone()
MakesObject.clone()
public.boolean
Returns the type of this data object.getFeature
(int aIndex) Returns the featureObject
at the given index.int
Returns the number of features.int
getGroup()
Returns the group to which the S-57 object belongs, this can be 1 (= skin of the earth) or 2 (= all other objects).Gets the identifier of this shape.getRelationship
(int aIndex) Returns the relationship at indexaIndex
.int
Returns the number of relationships in which this S-57 object is involved.int
getShape()
Gets the type of the shape:POINT
,LINE
,AREA
orNONE
.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()
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
setFeature
(int aIndex, Object aFeature) Sets the featureObject
at the given index.void
setGroup
(int aGroup) void
setIdentifier
(ILcdS57Identifier aIdentifier) void
setRelationships
(ILcdS57Relationship[] aRelationships) 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()
-
Constructor Details
-
TLcdS57FeatureObject
public TLcdS57FeatureObject()
-
-
Method Details
-
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
-
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
-
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
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:
-
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.
-
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.
-
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:
-
getFeatureCount
public int getFeatureCount()Description copied from interface:ILcdFeatured
Returns the number of features.- Specified by:
getFeatureCount
in interfaceILcdFeatured
- Returns:
- the number of features.
-
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
.- Throws:
IllegalArgumentException
- if the feature can't be set.- See Also:
-
setIdentifier
-
setGroup
public void setGroup(int aGroup) -
setRelationships
-
getIdentifier
Description copied from interface:ILcdS57FeatureObject
Gets the identifier of this shape.- Specified by:
getIdentifier
in interfaceILcdS57FeatureObject
-
getGroup
public int getGroup()Description copied from interface:ILcdS57FeatureObject
Returns the group to which the S-57 object belongs, this can be 1 (= skin of the earth) or 2 (= all other objects).- Specified by:
getGroup
in interfaceILcdS57FeatureObject
- Returns:
- the group to which the S-57 object belongs
-
getShape
public int getShape()Description copied from interface:ILcdS57FeatureObject
Gets the type of the shape:POINT
,LINE
,AREA
orNONE
.- Specified by:
getShape
in interfaceILcdS57FeatureObject
-
getRelationshipCount
public int getRelationshipCount()Description copied from interface:ILcdS57FeatureObject
Returns the number of relationships in which this S-57 object is involved.- Specified by:
getRelationshipCount
in interfaceILcdS57FeatureObject
- Returns:
- the number of relationships in which this S-57 object is involved.
-
getRelationship
Description copied from interface:ILcdS57FeatureObject
Returns the relationship at indexaIndex
.- Specified by:
getRelationship
in interfaceILcdS57FeatureObject
- Parameters:
aIndex
- index of the relationship to return- Returns:
- the relationship at the specified position.
-
clone
Description copied from interface:ILcdCloneable
Makes
When for example extending fromObject.clone()
public.java.lang.Object
, it can be implemented like this:public Object clone() { try { return super.clone(); } catch ( CloneNotSupportedException e ) { // Cannot happen: extends from Object and implements Cloneable (see also Object.clone) throw new RuntimeException( e ); } }
- Specified by:
clone
in interfaceILcdCloneable
- Overrides:
clone
in classObject
- See Also:
-
equals
-
hashCode
public int hashCode() -
toString
-