public class TLcdEditableAPP6AObject extends TLcdLonLatPolyline implements ILcdEditableAPP6AShape, ILcdEditableAPP6ACoded,ILcdFeatured, ILcdOriented, ILcdOrientationSettable, ILcdDataObject
getAPP6ACode()
; the used symbology standard can be retrieved through
getAPP6Standard()
.
ELcdAPP6AStandard
instance.
Note that although this class (including its documentation) and many other classes / methods have an
explicit reference to APP-6A, it can be equally used for all symbology standards defined
in ELcdAPP6AStandard
.
If the symbology standard is not explicitly supplied at construction time,
the used standard is defined by the boolean System property
com.luciad.symbology.app6a.app6b
. If false, APP-6A is used; otherwise, APP-6B
is used.
changed
afterwards.
Convenience methods are available to enumerate
,
retrieve
, and
change
parts of the symbol code.
This class also adds some convenience getters and setters for some common modifiers, such as the
status
.
TLcdAPP6ANode
and TLcdAPP6AEchelonNode
for more information on the symbol hierarchy
and echelons, and to ILcdAPP6ACoded
for the superset of possible SIDC modifier names.
UniqueDesignation
or AdditionalInformation
.
These modifiers can be enumerated
,
retrieved
and changed
as well.
Also, through the interface ILcdDataObject
, this class provides
generic access to all its properties. The available properties can be found in the object's data
type, accessible through the method getDataType()
. A specific property can be retrieved
through the method getValue(com.luciad.datamodel.TLcdDataProperty)
. See also
ILcdAPP6ACoded
for the superset of possible text modifier names.
Important note:
the APP-6A specification contains two symbols with the same symbol ID code, namely the Reference
Point symbol (2.X.2.5.1.2) and the Route symbol (2.X.2.5.1.8). Both symbols have as ID code
G*C*OXRD--****X
, while these codes should be unique. To solve this problem,
LuciadLightspeed uses the MIL-STD 2525b equivalent code for symbol 2.X.2.5.1.8, namely
G*C*OXOD--*****
; Following the advised approach described in the APP-6A
specification, LuciadLightspeed uses the MIL-STD 2525b equivalent code for the 'Route' symbol
(2.X.2.5.1.8), which is G*C*OXOD--*****.
TLcdLonLatPolyline
, which is used to define the
geometry of the symbol. The (minimal) number of points in the polyline depends on the
symbol code. This number can be queried through the method
getPointList()
, which returns an instance of the type
ILcdRestrictedLengthPointList
. This interface provides a method
getMinPointCount()
, which returns the minimal number of points needed to have a
valid symbol.
To quickly check whether this symbol is a point symbol or a line/polyline/polygon
(two points or more), one can use the method isLine()
.
Some symbols defined in the APP-6A specification are represented by a line with a width.
This width can be retrieved or set through the methods getWidth()
and
setWidth(double)
. A common example of such symbols are the arrow
symbols, which use the width property to define the distance between the axis of the arrow
and the edge of the bounding box around the arrow. Note that this property is not taken into account for points,
lines and general areas.ELcdAPP6Standard
,
Serialized FormModifier and Type | Class and Description |
---|---|
static class |
TLcdEditableAPP6AObject.TextModifier
Encapsulates the type and constraints of a modifier, regardless of its origin
(i.e. encoded in the symbol code (SIDC) or as a separate value).
|
static class |
TLcdEditableAPP6AObject.TextModifierType
Describes the constraints of a modifier value.
|
fBounds, fFocusPoint
sAdditionalInformation, sAffiliation, sAltitudeDepth, sAttitude, sCapacity, sCombatEffectiveness, sCommonIdentifier, sCountry, sDateTimeGroup, sEchelon, sEffectiveTime, sEngagementBar, sEvaluationRating, sFrameShapeModifier, sGuardedUnit, sHeadquartersElement, sHigherFormation, sHostile, sHqTaskForceDummy, sIFFSIF, sInstallationComposition, sLeadership, sLength, sLocationLabel, sMobility, sMovementDirection, sName, sOrderOfBattle, sPlatformType, sPositionAndMovement, sQuantityOfEquipment, sReinforcedOrReduced, sSector1, sSector2, sSignatureEquipment, sSpecialDesignator, sSpecialHeadquarters, sSpeedLabel, sStaffComments, sStandardIdentity1, sStandardIdentity2, sStatus, sTargetDesignator, sTargetNumberExtension, sTeardownTime, sTrackNumber, sTypeOfEquipment, sUniqueDesignation, sWidth
INTERPOLATION_CIRCLE_BY_3POINTS, INTERPOLATION_CIRCLE_BY_CENTERPOINT, INTERPOLATION_CIRCULARARC_BY_3POINTS, INTERPOLATION_CIRCULARARC_BY_BULGE, INTERPOLATION_CIRCULARARC_BY_CENTERPOINT, INTERPOLATION_ELLIPTICAL, INTERPOLATION_GEODESIC, INTERPOLATION_LINEAR, INTERPOLATION_MIXED, INTERPOLATION_RHUMB
Constructor and Description |
---|
TLcdEditableAPP6AObject()
Creates a new APP-6A object using the default symbol code.
|
TLcdEditableAPP6AObject(double aLon,
double aLat)
Creates a new APP-6A object with the default code.
|
TLcdEditableAPP6AObject(double aLon,
double aLat,
double aHeight)
Creates a new APP-6A object with the default code.
|
TLcdEditableAPP6AObject(ELcdAPP6Standard aStandard)
Creates a new APP-6 object for the given symbology version.
|
TLcdEditableAPP6AObject(ILcdAPP6ACoded aAPP6ACoded)
Creates a new APP-6A object given an
ILcdAPP6ACoded object. |
TLcdEditableAPP6AObject(ILcdPoint aPoint)
Creates a new APP-6A object with the default code.
|
TLcdEditableAPP6AObject(String aAPP6ACode)
Creates a new APP-6A object with the given symbol code.
|
TLcdEditableAPP6AObject(String aAPP6Code,
ELcdAPP6Standard aStandard)
Creates a new APP-6 object with the given code and version.
|
TLcdEditableAPP6AObject(String aAPP6ACode,
ILcdPoint[] aPoints)
Creates a new APP-6A object with the given code.
|
Modifier and Type | Method and Description |
---|---|
boolean |
canReversePointOrder()
The point order of arrows and lines can be reversed by calling
reversePointOrder() . |
boolean |
canSetFeature(int aIndex)
Features are set through the method
setAPP6ACode(java.lang.String) . |
Object |
clone()
Creates and returns a copy of this object.
|
boolean |
equals(Object aObject)
Returns whether the given object is equal to this object.
|
String |
getAffiliationValue()
Returns the current affiliation of this symbol,
or "Undefined" if the affiliation is not defined for this type of symbol.
|
String |
getAPP6ACode()
Returns the symbol code of the object (SIDC).
|
ELcdAPP6Standard |
getAPP6Standard()
Returns the symbology standard used by this object.
|
String |
getCountry()
Returns the current country for this object, or "Undefined" if this object has no country information.
|
TLcdDataType |
getDataType()
Returns the type of this data object.
|
static String |
getDefaultAPP6ACode()
Deprecated.
use
getDefaultAPP6Code(ELcdAPP6Standard) instead |
static String |
getDefaultAPP6Code(ELcdAPP6Standard aAPP6Standard)
Returns the default APP-6 code for the given standard that is used by the constructor when no code is given.
|
TLcdAPP6AEchelonNode |
getEchelon()
Retrieves the configured echelon value
|
Object |
getFeature(int aIndex)
Returns the feature of this object for the given index.
|
int |
getFeatureCount()
Returns the number of features: 5.
|
String |
getFormattedSIDC()
Returns a user-friendly representation of the symbol code of the object (SIDC).
|
TLcdAPP6ANode |
getHierarchyType()
Returns the type of this symbol in the symbol hierarchy (e.g. air track, road block, ...
|
String |
getOrderOfBattleValue()
Returns the current order of battle of this symbol,
or "Undefined" if no order of battle is assigned.
|
double |
getOrientation()
Returns the direction of movement for this object.
|
ILcdPointList |
getPointList()
Returns the point list this shape is based on.
|
Collection<String> |
getPossibleAffiliationValues()
Returns the possible order of affiliation values for this symbol (e.g. Unknown, Hostile, Neutral, ...)
If the "Unknown" value is allowed, it is the first value in the list.
|
Collection<String> |
getPossibleCountries()
Returns the possible countries this object can be assigned to.
|
Collection<TLcdEditableAPP6AObject.TextModifier> |
getPossibleModifiers()
Returns a collection of the possible modifiers of this symbol, i.e. all SIDC and text modifiers
|
Collection<String> |
getPossibleOrderOfBattleValues()
Returns the possible order of battle values for this symbol (e.g. Air OB, Ground OB, ...).
|
Collection<TLcdEditableAPP6AObject.TextModifier> |
getPossibleSIDCModifiers()
Returns a collection of the possible SIDC modifiers of this symbol, e.g. the affiliation, status, and so on.
|
Collection<String> |
getPossibleStatusValues()
Returns the possible status values for this symbol (for example, present or anticipated).
|
Collection<TLcdEditableAPP6AObject.TextModifier> |
getPossibleTextModifiers()
Returns a collection of the possible text modifiers of this symbol, i.e. modifiers that are not encoded in
the symbol code.
|
String |
getStatusValue()
Returns the current status value of this symbol,
or "Undefined" if no status is assigned.
|
TLcdEditableAPP6AObject.TextModifier |
getTextModifier(String aModifier)
Returns a description of the modifier with the given name.
|
int |
getTextModifierCount()
For objects of the APP-6A and APP-6B standards, returns the union of all text modifiers for that standard.
|
String |
getTextModifierKey(int aIndex)
Returns the text modifier key at the given index.
|
String |
getTextModifierKeyDisplayName(String aModifier)
Returns the display name of the modifier with the given key.
|
String |
getTextModifierValue(int aIndex)
Returns the value of the text modifier at the given index.
|
String |
getTextModifierValue(String aModifierKey)
Returns the value of the modifier with the given key.
|
String |
getTextModifierValue(TLcdEditableAPP6AObject.TextModifier aModifier)
Returns the object's value for the given text modifier.
|
Object |
getValue(String aPropertyName)
Convenience method that returns the value of the property with the given name.
|
Object |
getValue(TLcdDataProperty aProperty)
Returns the value of the given property.
|
double |
getWidth()
Returns the buffer width.
|
int |
hashCode()
Returns the same hash code for the given object as returned by the default method
Object#hashCode().
|
boolean |
hasValue(String aPropertyName)
Indicates whether this data object has a value for the given property.
|
boolean |
hasValue(TLcdDataProperty aProperty)
Indicates whether this data object has a value for the given property.
|
boolean |
isLine()
Returns whether this object is represented as a line or not.
|
void |
putTextModifier(String aModifierKey,
String aModifierValue)
Adds the given value of the modifier with the given key.
|
void |
putTextModifier(TLcdEditableAPP6AObject.TextModifier aModifier,
String aValue)
Sets the given value for the given modifier.
|
void |
reversePointOrder()
Reverses the order of the points of the symbol if the geometry is suitable for this operation.
|
void |
set2DEditablePointList(ILcd2DEditablePointList a2DEditablePointList)
Sets the point list for this shape.
|
void |
setAffiliationValue(String aValue)
Sets the current affiliation of this symbol.
|
void |
setAPP6ACode(String aAPP6ACode)
Sets the APP-6 code on this object.
|
void |
setCountry(String aValue)
Sets the current country for this object,
or "Undefined" if no country is assigned.
|
static void |
setDefaultAPP6ACode(String aDefaultAPP6Code)
Deprecated.
use
setDefaultAPP6Code(String, ELcdAPP6Standard) instead. |
static void |
setDefaultAPP6Code(String aDefaultAPP6Code,
ELcdAPP6Standard aAPP6Standard)
Sets the default APP-6 code to use when no code is given on construction.
|
void |
setEchelon(TLcdAPP6AEchelonNode aValue)
Sets the echelon value for this symbol
|
void |
setFeature(int aIndex,
Object aFeature)
Features cannot be set on this object through this method.
|
void |
setHierarchyType(TLcdAPP6ANode aType)
Sets the type of this symbol in the symbol hierarchy
It leaves other symbol modifier values untouched, unless they become invalid.
|
void |
setOrderOfBattleValue(String aValue)
Sets the current order of battle value of this symbol,
or "Undefined" if no order of battle is assigned.
|
void |
setOrientation(double aOrientation)
Sets the direction of movement.
|
void |
setStatusValue(String aValue)
Sets the current status value of this symbol,
or "Undefined if no status is assigned.
|
void |
setValue(String aPropertyName,
Object aValue)
Convenience method that sets the value of the property with the given name.
|
void |
setValue(TLcdDataProperty aProperty,
Object aValue)
Sets the value of the given property for this data object.
|
void |
setWidth(double width)
Sets the buffer width.
|
String |
toString()
Prints out the name and affiliation.
|
calculateBounds, computePointSFCT, contains2D, contains2D, getEllipsoid, getEndPoint, getEndTangent2D, getInterpolation, getLength2D, getLineSegmentIntersectionCount, getStartPoint, getStartTangent2D, getTangent2D, invalidateBounds, setEllipsoid
calculateFocusPoint
clearCache, get2DEditablePointList, getBounds, getCachedObject, getFocusPoint, getPoint, getPointCount, getPointSFCT, getX, getY, getZ, insert2DPoint, insertIntoCache, invalidateObject, move2D, move2DPoint, removeCachedObject, removePointAt, setFocusPoint, translate2D, translate2DPoint
contains3D, move2D
contains3D, fromDomainObject
finalize, getClass, notify, notifyAll, wait, wait, wait
move2D, move2D, translate2D
contains3D, contains3D, getFocusPoint
getBounds
append2DPoint, insert2DPoint, move2DPoint, removePointAt, translate2D, translate2DPoint
getPoint, getPointCount, getPointSFCT, getX, getY, getZ
clearCache, getCachedObject, insertIntoCache, removeCachedObject
public TLcdEditableAPP6AObject()
getDefaultAPP6ACode()
public TLcdEditableAPP6AObject(ELcdAPP6Standard aStandard)
aStandard
- an APP-6 versiongetDefaultAPP6ACode()
public TLcdEditableAPP6AObject(String aAPP6ACode)
aAPP6ACode
- a 15, 20, or 30 character code (depending on the used standard)
describing the military functionality of the shape.IllegalArgumentException
- when the code passed is null or is not part of the default APP-6 standardpublic TLcdEditableAPP6AObject(String aAPP6Code, ELcdAPP6Standard aStandard)
aStandard
- an APP-6 versionaAPP6Code
- a 15, 20, or 30 character code (depending on the used standard)
describing the military functionality of the shape.IllegalArgumentException
- when the code passed is null or is not part of the given APP-6 standardpublic TLcdEditableAPP6AObject(double aLon, double aLat)
aLon
- the longitude of the first point of the object.aLat
- the latitude of the first point of the object.getDefaultAPP6ACode()
public TLcdEditableAPP6AObject(ILcdPoint aPoint)
aPoint
- the location of the first point representing the object with the default code.getDefaultAPP6ACode()
public TLcdEditableAPP6AObject(double aLon, double aLat, double aHeight)
aLon
- the longitude of the first point of the object.aLat
- the latitude of the first point of the object.aHeight
- the height of the first point of the object.getDefaultAPP6ACode()
public TLcdEditableAPP6AObject(ILcdAPP6ACoded aAPP6ACoded)
ILcdAPP6ACoded
object. Both the code and the
text modifiers are copied from ILcdAPP6ACoded
.aAPP6ACoded
- an APP-6A object.public TLcdEditableAPP6AObject(String aAPP6ACode, ILcdPoint[] aPoints)
aPoints
- the points whose coordinates are used to locate the point list. Only as many
points as needed will be used.aAPP6ACode
- a 15, 20, or 30 character code (depending on the used standard)
describing the military functionality of the shape.
If the code is null, it will be replaced by the default code.public static String getDefaultAPP6ACode()
getDefaultAPP6Code(ELcdAPP6Standard)
insteadpublic static void setDefaultAPP6ACode(String aDefaultAPP6Code)
setDefaultAPP6Code(String, ELcdAPP6Standard)
instead.
Note that this code is not specifically tied to one of the specific APP-6 standards
defined in ELcdAPP6Standard
. The supplied code will be accepted if it is valid
according to at least one of these standards. It is thus up to the user to make
sure that, if he/she relies on the default code, instances of this class are created
according to a compatible symbology standard.
By default, the code "SUZP-----------" is used, which is defined in APP-6A and APP-6B.
aDefaultAPP6Code
- the default APP-6 code to use when no code is given on construction.IllegalArgumentException
- when the code passed is null or isn't a valid APP-6 code.public boolean canReversePointOrder()
reversePointOrder()
. For the other symbols
(single point, T shaped, polygon etc.), the point order is always the same. This method ensures if a call to
reversePointOrder()
is going to have an effect on the symbol or not.reversePointOrder()
can reverse the order of the points of this symbol, false otherwise.reversePointOrder()
public void reversePointOrder()
For example arrow shaped symbols point to the reverse direction after invoking this method. A symbol should
always be checked with canReversePointOrder()
before invoking this method. If canReversePointOrder()
returns false
, this method throws an IllegalStateException
Note: Each subsequent call to this method reverses the order of the points again.
IllegalStateException
- if canReversePointOrder()
returns false for this objectpublic static void setDefaultAPP6Code(String aDefaultAPP6Code, ELcdAPP6Standard aAPP6Standard)
Note that this code is tied to one of the specific APP-6 standards
defined in ELcdAPP6Standard
.
aDefaultAPP6Code
- the default code to useaAPP6Standard
- the standard for which the default code is usedpublic static String getDefaultAPP6Code(ELcdAPP6Standard aAPP6Standard)
aAPP6Standard
- the standardpublic int getFeatureCount()
getFeatureCount
in interface ILcdFeatured
public Object getFeature(int aIndex) throws IndexOutOfBoundsException
0 | Do not use this index. |
1 | the affiliation modifier associated to the affiliation of this object. |
2 | the status modifier associated to the status of this object. |
3 | the country modifier associated to the country code of this object. |
4 | the OB, order of battle, modifier associated to the OB of this object. |
getFeature
in interface ILcdFeatured
aIndex
- the index of the feature.IndexOutOfBoundsException
- when the index exceeds the number of features. See getFeatureCount()
.ILcdFeatured.setFeature(int, java.lang.Object)
public void setFeature(int aIndex, Object aFeature) throws IllegalArgumentException
setFeature
in interface ILcdFeatured
aIndex
- not of importance.aFeature
- not of importance.IllegalArgumentException
- This exception is never thrown, the implementation is empty.ILcdFeatured.getFeature(int)
,
ILcdFeatured.canSetFeature(int)
public boolean canSetFeature(int aIndex)
setAPP6ACode(java.lang.String)
. This method will always return
false.canSetFeature
in interface ILcdFeatured
aIndex
- not of importance.public ILcdPointList getPointList()
ILcdEditableRestrictedLengthPointList
and ILcd2DEditablePointList
.getPointList
in interface ILcdAPP6AShape
public void set2DEditablePointList(ILcd2DEditablePointList a2DEditablePointList)
set2DEditablePointList
in class ALcd2DEditablePolypoint
a2DEditablePointList
- A point list that implements ILcd2DEditablePointList
public double getWidth()
ILcdAPP6AShape
getWidth
in interface ILcdAPP6AShape
public void setWidth(double width)
ILcdEditableAPP6AShape
setWidth
in interface ILcdEditableAPP6AShape
width
- the new width in meters.public boolean isLine()
ILcdAPP6AShape
false
, the symbol is represented by one point.
When returning true
, the symbol is represented by two or more points,
e.g. a polyline, polygon (area symbol) or buffer (arrow symbol).isLine
in interface ILcdAPP6AShape
public String getAPP6ACode()
ILcdAPP6ACoded
The symbol code has to be interpreted according to the symbology standard used by this object,
which can be retrieved through ILcdAPP6ACoded.getAPP6Standard()
.
getAPP6ACode
in interface ILcdAPP6ACoded
ILcdAPP6ACoded.getAPP6Standard()
public ELcdAPP6Standard getAPP6Standard()
ILcdAPP6ACoded
getAPP6Standard
in interface ILcdAPP6ACoded
ELcdAPP6Standard
public int getTextModifierCount()
getTextModifierCount
in interface ILcdAPP6ACoded
getPossibleTextModifiers()
public String getTextModifierKey(int aIndex)
ILcdAPP6ACoded
getTextModifierKey
in interface ILcdAPP6ACoded
aIndex
- the index of key of the text modifier to retrieve.ILcdAPP6ACoded.getTextModifierCount()
public TLcdEditableAPP6AObject.TextModifier getTextModifier(String aModifier)
aModifier
- the modifier's name (see ILcdAPP6ACoded
)public String getTextModifierKeyDisplayName(String aModifier)
getTextModifierKeyDisplayName
in interface ILcdAPP6ACoded
aModifier
- the modifier's name (see ILcdAPP6ACoded
)public String getTextModifierValue(String aModifierKey)
getTextModifierValue
in interface ILcdAPP6ACoded
aModifierKey
- the key of the modifier to retrieve the value of.public String getTextModifierValue(TLcdEditableAPP6AObject.TextModifier aModifier)
aModifier
- the modifier to return the value forpublic String getTextModifierValue(int aIndex)
ILcdAPP6ACoded
getTextModifierValue
in interface ILcdAPP6ACoded
aIndex
- the index of the value of the text modifier to retrieve.ILcdAPP6ACoded.getTextModifierCount()
public void setAPP6ACode(String aAPP6ACode)
setAPP6ACode
in interface ILcdEditableAPP6ACoded
aAPP6ACode
- a 15, 20, or 30 character code (depending on the used symbology) denoting the function of this shape.
For the APP-6A and 6B standards, undefined positions should contain '-'.IllegalArgumentException
- when the code passed is null or isn't a valid APP-6 code.public void putTextModifier(String aModifierKey, String aModifierValue)
putTextModifier
in interface ILcdEditableAPP6ACoded
aModifierKey
- the key of the modifier to add.aModifierValue
- the value of the modifier to add.IllegalArgumentException
- if the symbol does not support the given modifierpublic void putTextModifier(TLcdEditableAPP6AObject.TextModifier aModifier, String aValue)
aModifier
- the modifier to set the value foraValue
- the value of the modifier to addIllegalArgumentException
- if the symbol does not support the given modifierpublic double getOrientation()
getTextModifierValue(java.lang.String)
method.getOrientation
in interface ILcdOriented
ILcdAPP6ACoded.sMovementDirection
. If this value
is not a number or not defined Double.NaN is returned.setOrientation(double)
public void setOrientation(double aOrientation)
putTextModifier(java.lang.String, java.lang.String)
method, using the ILcdAPP6ACoded.sMovementDirection
key. The value of that modifier will be adapted to reflected the orientation entered in this
method.setOrientation
in interface ILcdOrientationSettable
aOrientation
- the new direction of movement.getOrientation()
public Object clone()
clone
in interface ILcdEditableAPP6ACoded
clone
in interface ILcdCloneable
clone
in class TLcdLonLatPolyline
Object.clone()
public String toString()
Do not rely on the implementation of this method: it may change without notice.
toString
in class ALcd2DEditablePolypoint
public boolean equals(Object aObject)
this == aObject
has the value true
).equals
in class TLcdLonLatPolyline
aObject
- the reference object with which to compare.true
if this object is the same as the aObject argument;
false
otherwise.Object.equals(Object)
public int hashCode()
hashCode
in class TLcdLonLatPolyline
Object.hashCode()
public Object getValue(TLcdDataProperty aProperty)
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 an IllegalArgumentException
is thrown.
getValue
in interface ILcdDataObject
aProperty
- the property for which the value is to be returnedpublic TLcdDataType getDataType()
ILcdDataObject
null
.getDataType
in interface ILcdDataObject
public void setValue(TLcdDataProperty aProperty, Object aValue)
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 an IllegalArgumentException
.setValue
in interface ILcdDataObject
aProperty
- the property for which the value is to be setaValue
- the value to setTLcdDataType.getProperty(String)
public Object getValue(String aPropertyName)
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.getValue
in interface ILcdDataObject
aPropertyName
- the name of the property of which the value is to be returnedTLcdDataType.getProperty(String)
public void setValue(String aPropertyName, Object aValue)
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.setValue
in interface ILcdDataObject
aPropertyName
- the name of the property of which the value is to be setaValue
- the value to setpublic boolean hasValue(TLcdDataProperty aProperty)
ILcdDataObject
aProperty
is from the right data type
, and this instance has a value for it: returns true
aProperty
is from the right data type
, and this instance has no value for it: returns false
aProperty
is not from the right data type
: not allowed, you will get IllegalArgumentExceptionaProperty
is null
: not allowed, you will get NullPointerExceptionhasValue
in interface ILcdDataObject
aProperty
- the property for which to return whether a value is present or not.true
if this data object has a value for the given property, false
otherwise.public boolean hasValue(String aPropertyName)
ILcdDataObject
ILcdDataObject.hasValue(TLcdDataProperty)
for more information.hasValue
in interface ILcdDataObject
aPropertyName
- the name of the property for which to return whether a value is present
or not.true
if this data object has a value for the property with the given name,
false
otherwise.public String getFormattedSIDC()
getAPP6ACode()
public TLcdAPP6AEchelonNode getEchelon()
TLcdAPP6AEchelonNode.get(com.luciad.symbology.app6a.model.ILcdAPP6ACoded)
public void setEchelon(TLcdAPP6AEchelonNode aValue)
aValue
- the new valueTLcdAPP6AEchelonNode.applyOn(com.luciad.symbology.app6a.model.ILcdEditableAPP6ACoded)
,
TLcdAPP6AEchelonNode.canApplyOn(com.luciad.symbology.app6a.model.ILcdAPP6ACoded)
public TLcdAPP6ANode getHierarchyType()
TLcdAPP6ANode.get(java.lang.String, com.luciad.symbology.app6a.model.ELcdAPP6Standard)
public void setHierarchyType(TLcdAPP6ANode aType)
aType
- the new hierarchy type. The type must not be a folder.TLcdAPP6ANode.isFolderOnly()
,
TLcdAPP6ANode.applyOn(com.luciad.symbology.app6a.model.ILcdEditableAPP6ACoded)
public String getCountry()
getPossibleCountries()
setCountry(String)
public Collection<String> getPossibleCountries()
setCountry(String)
public void setCountry(String aValue)
aValue
- one of getPossibleCountries()
getPossibleCountries()
public Collection<String> getPossibleStatusValues()
public String getStatusValue()
getPossibleStatusValues()
public void setStatusValue(String aValue)
aValue
- one of getPossibleStatusValues()
public String getOrderOfBattleValue()
getPossibleOrderOfBattleValues()
public Collection<String> getPossibleOrderOfBattleValues()
public void setOrderOfBattleValue(String aValue)
aValue
- one of getPossibleOrderOfBattleValues()
public Collection<String> getPossibleAffiliationValues()
public String getAffiliationValue()
getPossibleAffiliationValues()
public void setAffiliationValue(String aValue)
aValue
- one of getPossibleAffiliationValues()
public Collection<TLcdEditableAPP6AObject.TextModifier> getPossibleModifiers()
public Collection<TLcdEditableAPP6AObject.TextModifier> getPossibleSIDCModifiers()
public Collection<TLcdEditableAPP6AObject.TextModifier> getPossibleTextModifiers()