Package com.luciad.format.s57
Class TLcdS57Identifier
java.lang.Object
com.luciad.format.s57.TLcdS57Identifier
- All Implemented Interfaces:
ILcdS57Identifier,ILcdCloneable,ILcdFeatured,Serializable,Cloneable
public class TLcdS57Identifier
extends Object
implements ILcdS57Identifier, Serializable, ILcdFeatured, ILcdCloneable
An implementation of the
ILcdS57Identifier interface.- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionTLcdS57Identifier(int aObjectClassCode, ILcdS57Attribute[] aAttributes) Constructs a new S-57 editable identifier, initialized with the given object class code.TLcdS57Identifier(TLcdS57ObjectClassDescriptor aObjectClassDescriptor, ILcdS57Attribute[] aAttributes) Constructs a new S-57 editable identifier, initialized with the given object class descriptor.TLcdS57Identifier(TLcdS57ObjectClassDescriptor aObjectClassDescriptor, ILcdS57Attribute[] aAttributes, int aIdentifier) Constructs a new S-57 editable identifier, initialized with the given object class descriptor.TLcdS57Identifier(TLcdS57ObjectClassDescriptor aObjectClassDescriptor, ILcdS57Attribute[] aAttributes, int aIdentifier, long aLongName) Constructs a new S-57 editable identifier, initialized with the given object class descriptor, attributes, id and long name. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddAttribute(ILcdS57Attribute aAttribute) Adds the given attribute to this S-57 identifier.booleancanSetFeature(int aIndex) Checks whether the specified feature is editable.clone()MakesObject.clone()public.booleangetFeature(int aIndex) Returns the featureObjectat the given index.intReturns the number of features.intgetId()Returns the id of this S-57 identifier, uniquely identifying the S-57 feature within the model.longGets the "Long Name" of this S-57 feature object.Returns the S-57 object class descriptor, describing this identifier.getS57Attribute(int aIndex) Gets the TLcdS57Attribute at a given index.intGets the number of TLcdS57Attributes stored in this identifier.getS57AttributeForCode(int aRequestedCode) Gets the TLcdS57Attribute that has the given code.intGets the object class.inthashCode()booleanisSimilar(ILcdS57Identifier aIdentifier) Returns whether the given identifier is similar to this identifier, meaning they have the same object class and attribute values, but that the given identifier can have more attributes than this one.voidremoveAttribute(ILcdS57Attribute aAttribute) Removes the specified attribute from this S-57 identifier.voidsetFeature(int aIndex, Object aFeature) Sets the featureObjectat the given index.toString()
-
Constructor Details
-
TLcdS57Identifier
Constructs a new S-57 editable identifier, initialized with the given object class code. The attributes array should be ordered ascendingly according to the attribute code. The attributes array should be ordered ascendingly according to the attribute code. The attributes array should be ordered ascendingly according to the attribute code.- Parameters:
aObjectClassCode-
-
TLcdS57Identifier
public TLcdS57Identifier(TLcdS57ObjectClassDescriptor aObjectClassDescriptor, ILcdS57Attribute[] aAttributes) Constructs a new S-57 editable identifier, initialized with the given object class descriptor. The attributes array should be ordered ascendingly according to the attribute code.- Parameters:
aObjectClassDescriptor-
-
TLcdS57Identifier
public TLcdS57Identifier(TLcdS57ObjectClassDescriptor aObjectClassDescriptor, ILcdS57Attribute[] aAttributes, int aIdentifier) Constructs a new S-57 editable identifier, initialized with the given object class descriptor. The attributes array should be ordered ascendingly according to the attribute code.- Parameters:
aObjectClassDescriptor-
-
TLcdS57Identifier
public TLcdS57Identifier(TLcdS57ObjectClassDescriptor aObjectClassDescriptor, ILcdS57Attribute[] aAttributes, int aIdentifier, long aLongName) Constructs a new S-57 editable identifier, initialized with the given object class descriptor, attributes, id and long name.- Parameters:
aObjectClassDescriptor- The object class descriptor, leavenullfor an unknown descriptor.aAttributes- The attributes, ordered ascendingly according to the attribute code.aIdentifier- Theidentifier, leave-1if unknown.aLongName- Thelong name, leave-1if unknown.- Since:
- 2017.0
-
-
Method Details
-
getId
public int getId()Returns the id of this S-57 identifier, uniquely identifying the S-57 feature within the model.- Returns:
- the id of this S-57 identifier, uniquely identifying the S-57 feature within the model.
-
getLongName
public long getLongName()Description copied from interface:ILcdS57IdentifierGets the "Long Name" of this S-57 feature object. The "Long Name" is also known as "feature object identifier", or LNAM. It is a representation of the FOID (Feature Object Identifier) fields. More specifically, it is a "binary concatenation"(FIDS << 48) | (FIDN << 16) | AGEN, where:- AGEN (Producing Agency)
- FIDN (Feature Identification Number)
- FIDS (Feature Identification Subdivision)
- Specified by:
getLongNamein interfaceILcdS57Identifier- Returns:
- The long name, or -1 if unknown
-
getObjectClassDescriptor
Returns the S-57 object class descriptor, describing this identifier.- Returns:
- the S-57 object class descriptor, describing this identifier.
-
addAttribute
Adds the given attribute to this S-57 identifier. If an attribute with the same code already exists, it is replaced by the new one.- Parameters:
aAttribute- the attribute to be added to this S-57 identifier.
-
removeAttribute
Removes the specified attribute from this S-57 identifier.- Parameters:
aAttribute- the attribute to be removed.- Throws:
IllegalArgumentException- if the specified attribute is not an attribute of this S-57 identifier.
-
getS57ObjectClass
public int getS57ObjectClass()Description copied from interface:ILcdS57IdentifierGets the object class.- Specified by:
getS57ObjectClassin interfaceILcdS57Identifier
-
getS57AttributeCount
public int getS57AttributeCount()Description copied from interface:ILcdS57IdentifierGets the number of TLcdS57Attributes stored in this identifier.- Specified by:
getS57AttributeCountin interfaceILcdS57Identifier
-
getS57Attribute
Description copied from interface:ILcdS57IdentifierGets the TLcdS57Attribute at a given index.- Specified by:
getS57Attributein interfaceILcdS57Identifier
-
getS57AttributeForCode
Description copied from interface:ILcdS57IdentifierGets the TLcdS57Attribute that has the given code.- Specified by:
getS57AttributeForCodein interfaceILcdS57Identifier
-
isSimilar
Description copied from interface:ILcdS57IdentifierReturns whether the given identifier is similar to this identifier, meaning they have the same object class and attribute values, but that the given identifier can have more attributes than this one.- Specified by:
isSimilarin interfaceILcdS57Identifier
-
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.
-
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:
-
getFeatureCount
public int getFeatureCount()Description copied from interface:ILcdFeaturedReturns the number of features.- Specified by:
getFeatureCountin interfaceILcdFeatured- Returns:
- the number of features.
-
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.- Throws:
IllegalArgumentException- if the feature can't be set.- See Also:
-
equals
-
hashCode
public int hashCode() -
toString
-
clone
Description copied from interface:ILcdCloneableMakes
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:
clonein interfaceILcdCloneable- Overrides:
clonein classObject- See Also:
-