Class TLcdEditableMS2525bObject
- All Implemented Interfaces:
ILcdDataObject
,ILcdBounded
,ILcdCurve
,ILcdPointList
,ILcdPointList2
,ILcdPolyline
,ILcdPolypoint
,ILcdShape
,ILcd2DEditablePointList
,ILcd2DEditablePolyline
,ILcd2DEditablePolypoint
,ILcd2DEditableShape
,ILcdEditableMS2525bCoded
,ILcdEditableMS2525bShape
,ILcdMS2525bCoded
,ILcdMS2525bShape
,ILcdCache
,ILcdCloneable
,ILcdFeatured
,ILcdInvalidateable
,ILcdOrientationSettable
,ILcdOriented
,Serializable
,Cloneable
getMS2525Code()
; the used symbology standard can be retrieved through
getMS2525Standard()
.
Symbology
The used standard can be supplied at construction time by passing anELcdMS2525Standard
instance.
Note that although this class (including its documentation) and many other classes / methods have an
explicit reference to MIL-STD 2525b, it can be equally used for all symbology standards defined
in ELcdMS2525Standard
.
If the symbology standard is not explicitly supplied at construction time,
the used standard is defined by the boolean System property
com.luciad.symbology.milstd2525b.ms2525c
. If false, MIL-STD 2525b is used;
otherwise, MIL-STD 2525c is used.
Symbol code and modifiers
The symbol code can be supplied at construction time, orchanged
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
.
Refer to
TLcdMS2525bNode
and TLcdMS2525bEchelonNode
for more information on the symbol hierarchy
and echelons, and to ILcdMS2525bCoded
for the superset of possible SIDC modifier names.
Text modifiers
Next to its geometry representation and symbol code, a symbol can have other textual properties such asUniqueDesignation
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
ILcdMS2525bCoded
for the superset of possible text modifier names.
Geometry
This class extends fromTLcdLonLatPolyline
, 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 MIL-STD 2525b 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.- See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
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 enum
Describes the constraints of a modifier value. -
Field Summary
Fields inherited from class com.luciad.shape.shape2D.ALcd2DEditablePolypoint
fBounds, fFocusPoint
Fields inherited from interface com.luciad.shape.ILcdCurve
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
Fields inherited from interface com.luciad.symbology.milstd2525b.model.ILcdMS2525bCoded
sAdditionalInformation, sAffiliation, sAltitudeDepth, sAttitude, sCombatEffectiveness, sCommonIdentifier, sCountry, sDateTimeGroup, sEchelon, sEffectiveTime, sEngagementBar, sEvaluationRating, sFrameShapeModifier, sGuardedUnit, sHigherFormation, sHostile, sHqTaskForceDummy, sIFFSIF, sLength, sLocationLabel, sMobilityIndicator, sMovementDirection, sOrderOfBattle, sPlatformType, sQuantity, sReinforcedOrReduced, sSector1, sSector2, sSignatureEquipment, sSpecialDesignator, sSpecialHeadquarters, sSpeedLabel, sStaffComments, sStandardIdentity1, sStandardIdentity2, sStaticDynamic, sStatus, sTargetDesignator, sTeardownTime, sTypeLabel, sUniqueDesignation, sWidth
-
Constructor Summary
ConstructorDescriptionCreates a new MIL-STD 2525b object using the default symbol code.TLcdEditableMS2525bObject
(double aLon, double aLat) Creates a MIL-STD 2525b object with the default code.TLcdEditableMS2525bObject
(double aLon, double aLat, double aHeight) Creates a MIL-STD 2525b object with the default code.TLcdEditableMS2525bObject
(ILcdPoint aPoint) Creates a MIL-STD 2525b object with the default code.TLcdEditableMS2525bObject
(ELcdMS2525Standard aStandard) Creates a new MIL-STD 2525 object for the given symbology version.TLcdEditableMS2525bObject
(ILcdMS2525bCoded aMS2525bCoded) Creates a MIL-STD 2525b object given anILcdMS2525bCoded
object.TLcdEditableMS2525bObject
(String aMS2525bCode) Creates a new MIL-STD 2525b object with the given code.TLcdEditableMS2525bObject
(String aMS2525bCode, ILcdPoint[] aPoints) Creates a MIL-STD 2525b object with the given code.TLcdEditableMS2525bObject
(String aMS2525bCode, ELcdMS2525Standard aStandard) Creates a new MIL-STD 2525 object with the given code and version. -
Method Summary
Modifier and TypeMethodDescriptionboolean
The point order of arrows and lines can be reversed by callingreversePointOrder()
.boolean
canSetFeature
(int aIndex) Features are set through the methodsetMS2525Code(java.lang.String, com.luciad.symbology.milstd2525b.model.ELcdMS2525Standard)
.clone()
Creates and returns a copy of this object.boolean
Returns whether the given object is equal to this object.Returns the current affiliation of this symbol, or "Undefined" if the affiliation is not defined for this type of symbol.Returns the current country for this object, or "Undefined" if this object has no country information.Returns the type of this data object.static String
Deprecated.static String
getDefaultMS2525Code
(ELcdMS2525Standard aMS2525Standard) Returns the default MIL-STD 2525 code for the given standard that is used by the constructor when no code is given.Retrieves the configured echelon valuegetFeature
(int aIndex) Returns the featureObject
at the given index.int
Returns the number of features: 5.Returns a user-friendly representation of the symbol code of the object (SIDC).Returns the type of this symbol in the symbol hierarchy (e.g. air track, road block, ...Returns the symbol code of the object (SIDC).Returns the symbology standard used by this object.Returns the current order of battle of this symbol, or "Undefined" if no order of battle is assigned.double
Returns the direction of movement for this object.Returns the point list this shape is based on.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.Returns the possible countries this object can be assigned to.Returns a collection of the possible modifiers of this symbol, i.e. all SIDC and text modifiersReturns the possible order of battle values for this symbol (e.g. Air OB, Ground OB, ...).Returns a collection of the possible SIDC modifiers of this symbol, e.g. the affiliation, status, and so on.Returns the possible status values for this symbol (for example, present or anticipated).Returns a collection of the possible text modifiers of this symbol, i.e. modifiers that are not encoded in the symbol code.Returns the current status value of this symbol, or "Undefined" if no status is assigned.getTextModifier
(String aModifierName) Returns a description of the modifier with the given name.int
Returns the number of text modifiers for this object in the MIL-STD-2525B standard.getTextModifierKey
(int aIndex) Returns the text modifier key at the given index.getTextModifierKeyDisplayName
(String aModifierName) Returns the display name of the modifier with the given key.getTextModifierValue
(int aIndex) Returns the value of the text modifier at the given index.Returns the object's value for the given text modifier.getTextModifierValue
(String aModifierKey) Returns the value of the modifier with the given key.getValue
(TLcdDataProperty aProperty) Returns the value of the given property.Convenience method that returns the value of the property with the given name.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
(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.boolean
isLine()
Returns whether this object is represented as a line or not.void
putTextModifier
(TLcdEditableMS2525bObject.TextModifier aModifier, String aValue) Sets the given value for the given modifier.void
putTextModifier
(String aModifierKey, String aModifierValue) Adds the given value of the modifier with the given key.void
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
setCountry
(String aValue) Sets the current country for this object, or "Undefined" if no country is assigned.static void
setDefaultMS2525bCode
(String aDefaultMS2525Code) Deprecated.usesetDefaultMS2525Code(String, ELcdMS2525Standard)
instead.static void
setDefaultMS2525Code
(String aDefaultMS2525Code, ELcdMS2525Standard aMS2525Standard) Sets the default MIL-STD 2525 code to use when no code is given on construction.void
setEchelon
(TLcdMS2525bEchelonNode aValue) Sets the echelon value for this symbolvoid
setFeature
(int aIndex, Object aFeature) Features cannot be set on this object through this method.void
setHierarchyType
(TLcdMS2525bNode aType) Sets the type of this symbol in the symbol hierarchy It leaves other symbol modifier values untouched, unless they become invalid.void
setMS2525Code
(String aMS2525Code) Sets the MIL-STD 2525 code on this object.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
(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.void
setWidth
(double width) Sets the buffer width.toString()
Prints out the name and affiliation.Methods inherited from class com.luciad.shape.shape2D.TLcdLonLatPolyline
calculateBounds, computePointSFCT, contains2D, contains2D, getEllipsoid, getEndPoint, getEndTangent2D, getInterpolation, getLength2D, getLineSegmentIntersectionCount, getStartPoint, getStartTangent2D, getTangent2D, invalidateBounds, setEllipsoid
Methods inherited from class com.luciad.shape.shape2D.TLcdLonLatPolypoint
calculateFocusPoint
Methods inherited from class com.luciad.shape.shape2D.ALcd2DEditablePolypoint
clearCache, get2DEditablePointList, getBounds, getCachedObject, getFocusPoint, getPoint, getPointCount, getPointSFCT, getX, getY, getZ, insert2DPoint, insertIntoCache, invalidateObject, move2D, move2DPoint, removeCachedObject, removePointAt, setFocusPoint, translate2D, translate2DPoint
Methods inherited from class com.luciad.shape.shape2D.ALcd2DEditableShape
contains3D, move2D
Methods inherited from class com.luciad.shape.ALcdShape
contains3D, fromDomainObject
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.luciad.shape.shape2D.ILcd2DEditablePointList
append2DPoint, insert2DPoint, move2DPoint, removePointAt, translate2D, translate2DPoint
Methods inherited from interface com.luciad.shape.shape2D.ILcd2DEditableShape
move2D, move2D, translate2D
Methods inherited from interface com.luciad.shape.ILcdBounded
getBounds
Methods inherited from interface com.luciad.util.ILcdCache
clearCache, getCachedObject, insertIntoCache, removeCachedObject
Methods inherited from interface com.luciad.shape.ILcdPointList
getPoint, getPointCount, getPointSFCT, getX, getY, getZ
Methods inherited from interface com.luciad.shape.ILcdShape
contains3D, contains3D, getFocusPoint
-
Constructor Details
-
TLcdEditableMS2525bObject
public TLcdEditableMS2525bObject()Creates a new MIL-STD 2525b object using the default symbol code. The object's geometry will contain as many points as needed for the symbol code.- See Also:
-
TLcdEditableMS2525bObject
Creates a new MIL-STD 2525 object for the given symbology version. The resulting MIL-STD 2525 object will use the default symbol code for the given symbology version. The object's geometry will contain as many points as needed for the symbol code.- Parameters:
aStandard
- a MIL-STD 2525 version- See Also:
-
TLcdEditableMS2525bObject
Creates a new MIL-STD 2525b object with the given code. The object's geometry will contain as many points as needed.- Parameters:
aMS2525bCode
- a 15 character code which describes the military functionality of the shape. Characters on positions which are not explicitly needed should be the '\0' character. The character '-' will be accepted but it will be replaced by the '\0' character. Subsequent calls togetMS2525Code()
will not contain '-' characters.- Throws:
IllegalArgumentException
- when the code passed is null or is not part of the default MIL-STD 2525 standard
-
TLcdEditableMS2525bObject
Creates a new MIL-STD 2525 object with the given code and version. The object's geometry will contain as many points as needed.- Parameters:
aMS2525bCode
- a 15 character code which describes the military functionality of the shape. Characters on positions which are not explicitly needed should be the '\0' character. The character '-' will be accepted but it will be replaced by the '\0' character. Subsequent calls togetMS2525Code()
will not contain '-' characters.aStandard
- a MIL-STD 2525 version- Throws:
IllegalArgumentException
- when the code passed is null or is not part of the given MIL-STD 2525 standard
-
TLcdEditableMS2525bObject
public TLcdEditableMS2525bObject(double aLon, double aLat) Creates a MIL-STD 2525b object with the default code. The first point is placed at the given coordinates. If more points are required by the default code, they will be added to the point list this shape is based on.- Parameters:
aLon
- the longitude of the first point of the object.aLat
- the latitude of the first point of the object.- See Also:
-
TLcdEditableMS2525bObject
Creates a MIL-STD 2525b object with the default code. The first point is placed at the location of the given point. If more points are required by the default code, they will be added to the point list this shape is based on.- Parameters:
aPoint
- the location of the first point representing the object with the default code.- See Also:
-
TLcdEditableMS2525bObject
public TLcdEditableMS2525bObject(double aLon, double aLat, double aHeight) Creates a MIL-STD 2525b object with the default code. The first point is placed at the given coordinates. If more points are required by the default code, they will be added to the point list this shape is based on.- Parameters:
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.- See Also:
-
TLcdEditableMS2525bObject
Creates a MIL-STD 2525b object given anILcdMS2525bCoded
object. Both the code and the text modifiers are copied fromaMS2525bCoded
.- Parameters:
aMS2525bCoded
- a MIL-STD 2525b object.
-
TLcdEditableMS2525bObject
Creates a MIL-STD 2525b object with the given code. Depending on the representation of the symbol with given code, points are added to the point list or not all points of the point list are used.- Parameters:
aMS2525bCode
- a 15 character code which describes the military functionality of the shape. Characters on positions which are not explicitly needed should be the '\0' character. The character '-' will be accepted but it will be replaced by the '\0' character. Subsequent calls togetMS2525Code()
will not contain '-' characters. If the code is null, it will be replaced by the default code.aPoints
- the points whose coordinates are used to locate the point list. Only as many points as needed will be used.
-
-
Method Details
-
getDefaultMS2525bCode
Deprecated.usegetDefaultMS2525Code(ELcdMS2525Standard)
instead.Returns the default 15 character MIL-STD 2525 code that is used by the constructor when no code is given.- Returns:
- the default 15 character MIL-STD 2525 code to use on construction when no code is given.
-
setDefaultMS2525bCode
Deprecated.usesetDefaultMS2525Code(String, ELcdMS2525Standard)
instead.Sets the default MIL-STD 2525 code to use when no code is given on construction.Note that this code is not specifically tied to one of the specific MIL-STD 2525 standards defined in
ELcdMS2525Standard
. 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 "SUPP-----------" is used, which is defined in all supported MIL-STD 2525 symbology standards.
- Parameters:
aDefaultMS2525Code
- the default MIL-STD 2525 code to use when no code is given on construction.- Throws:
IllegalArgumentException
- when the code passed is null or isn't a valid MIL-STD 2525 code.
-
canReversePointOrder
public boolean canReversePointOrder()The point order of arrows and lines can be reversed by callingreversePointOrder()
. For the other symbols (single point, T shaped, polygon etc.), the point order is always the same. This method ensures if a call toreversePointOrder()
is going to have an effect on the symbol or not.- Returns:
- true if
reversePointOrder()
can reverse the order of the points of this symbol, false otherwise. - See Also:
-
reversePointOrder
public void reversePointOrder()Reverses the order of the points of the symbol if the geometry is suitable for this operation.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. IfcanReversePointOrder()
returnsfalse
, this method throws anIllegalStateException
Note: Each subsequent call to this method reverses the order of the points again.
- Throws:
IllegalStateException
- ifcanReversePointOrder()
returns false for this object
-
setDefaultMS2525Code
public static void setDefaultMS2525Code(String aDefaultMS2525Code, ELcdMS2525Standard aMS2525Standard) Sets the default MIL-STD 2525 code to use when no code is given on construction.Note that this code is tied to one of the specific APP-6 standards defined in
ELcdMS2525Standard
.- Parameters:
aDefaultMS2525Code
- the default code to useaMS2525Standard
- the standard for which the default code is used
-
getDefaultMS2525Code
Returns the default MIL-STD 2525 code for the given standard that is used by the constructor when no code is given.- Parameters:
aMS2525Standard
- the standard- Returns:
- the default MIL-STD 2525 code for the given standard
-
getFeatureCount
public int getFeatureCount()Returns the number of features: 5.- Specified by:
getFeatureCount
in interfaceILcdFeatured
- Returns:
- 5, always.
-
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
Features cannot be set on this object through this method. Features are set throughsetMS2525Code(java.lang.String, com.luciad.symbology.milstd2525b.model.ELcdMS2525Standard)
. This implementation is empty.- Specified by:
setFeature
in interfaceILcdFeatured
- Parameters:
aIndex
- not of importance.aFeature
- not of importance.- Throws:
IllegalArgumentException
- This exception is never thrown, the implementation is empty.- See Also:
-
canSetFeature
public boolean canSetFeature(int aIndex) Features are set through the methodsetMS2525Code(java.lang.String, com.luciad.symbology.milstd2525b.model.ELcdMS2525Standard)
. This method will always return false.- Specified by:
canSetFeature
in interfaceILcdFeatured
- Parameters:
aIndex
- not of importance.- Returns:
- false, always.
-
getPointList
Returns the point list this shape is based on. The returned object implements alsoILcdEditableRestrictedLengthPointList
andILcd2DEditablePointList
.- Specified by:
getPointList
in interfaceILcdMS2525bShape
- Returns:
- the point list this shape is based on.
-
set2DEditablePointList
Sets the point list for this shape.- Overrides:
set2DEditablePointList
in classALcd2DEditablePolypoint
- Parameters:
a2DEditablePointList
- A point list that implementsILcd2DEditablePointList
-
getWidth
public double getWidth()Description copied from interface:ILcdMS2525bShape
Returns the buffer width. This value is only taken into account when this symbol should be represented by a buffer. In the MIL-STD 2525b specification, these are the arrow symbols; the width property is used to define the width of the bounding box around the arrow.- Specified by:
getWidth
in interfaceILcdMS2525bShape
- Returns:
- the buffer width in meters. This value is only taken into account when the object with this code should be represented by a buffer.
-
setWidth
public void setWidth(double width) Description copied from interface:ILcdEditableMS2525bShape
Sets the buffer width. This value is only taken into account when this symbol should be represented by a buffer. In the MIL-STD 2525b specification, these are the arrow symbols; the width property is used to define the width of the bounding box around the arrow.- Specified by:
setWidth
in interfaceILcdEditableMS2525bShape
- Parameters:
width
- the new width in meters.
-
isLine
public boolean isLine()Description copied from interface:ILcdMS2525bShape
Returns whether this object is represented as a line or not. When returningfalse
, the symbol is represented by one point. When returningtrue
, the symbol is represented by two or more points, e.g. a polyline, polygon (area symbol) or buffer (arrow symbol).- Specified by:
isLine
in interfaceILcdMS2525bShape
- Returns:
- true when this object should be represented as a line.
-
getMS2525Code
Description copied from interface:ILcdMS2525bCoded
Returns the symbol code of the object (SIDC).The symbol code has to be interpreted according to the symbology standard used by this object, which can be retrieved through
ILcdMS2525bCoded.getMS2525Standard()
.- Specified by:
getMS2525Code
in interfaceILcdMS2525bCoded
- Returns:
- the symbol code of the object (SIDC).
- See Also:
-
getMS2525Standard
Description copied from interface:ILcdMS2525bCoded
Returns the symbology standard used by this object.- Specified by:
getMS2525Standard
in interfaceILcdMS2525bCoded
- Returns:
- the symbology standard used by this object.
- See Also:
-
getTextModifierCount
public int getTextModifierCount()Description copied from interface:ILcdMS2525bCoded
Returns the number of text modifiers for this object in the MIL-STD-2525B standard.- Specified by:
getTextModifierCount
in interfaceILcdMS2525bCoded
- Returns:
- the number of text modifiers for this object in the MIL-STD-2525B standard.
-
getTextModifierKey
Description copied from interface:ILcdMS2525bCoded
Returns the text modifier key at the given index.- Specified by:
getTextModifierKey
in interfaceILcdMS2525bCoded
- Parameters:
aIndex
- the index of key of the text modifier to retrieve.- Returns:
- the text modifier key at the given index.
- See Also:
-
getTextModifier
Returns a description of the modifier with the given name.
This implementation also supports modifiers that are encoded in the symbol code (SIDC).- Parameters:
aModifierName
- the modifier's name (seeILcdMS2525bCoded
)- Returns:
- an object encapsulating the given modifier's constraints and type, or null if the modifier is not applicable
-
getTextModifierKeyDisplayName
Returns the display name of the modifier with the given key.
This implementation also supports modifiers that are encoded in the symbol code (SIDC).- Specified by:
getTextModifierKeyDisplayName
in interfaceILcdMS2525bCoded
- Parameters:
aModifierName
- the modifier's name (seeILcdMS2525bCoded
)- Returns:
- the display name of the modifier with the given key.
-
getTextModifierValue
Returns the value of the modifier with the given key.
This implementation also supports modifiers that are encoded in the symbol code (SIDC).- Specified by:
getTextModifierValue
in interfaceILcdMS2525bCoded
- Parameters:
aModifierKey
- the key of the modifier to retrieve the value of.- Returns:
- the value of the modifier with the given key.
-
getTextModifierValue
Returns the object's value for the given text modifier.
This implementation also supports modifiers that are encoded in the symbol code (SIDC).- Parameters:
aModifier
- the modifier to return the value for- Returns:
- the modifier value for the given modifier
-
getTextModifierValue
Description copied from interface:ILcdMS2525bCoded
Returns the value of the text modifier at the given index.- Specified by:
getTextModifierValue
in interfaceILcdMS2525bCoded
- Parameters:
aIndex
- the index of the value of the text modifier to retrieve.- Returns:
- the value of the text modifier at the given index.
- See Also:
-
setMS2525Code
Sets the MIL-STD 2525 code on this object. This has an influence on the maximum number of points the shape can have and might thus change the internal point list.- Specified by:
setMS2525Code
in interfaceILcdEditableMS2525bCoded
- Parameters:
aMS2525Code
- a 15 character code denoting the function of this shape. Undefined positions should carry the character '-'. *- Throws:
IllegalArgumentException
- when the code passed is null or isn't a valid MIL-STD 2525 code.
-
putTextModifier
Adds the given value of the modifier with the given key.
This implementation also supports modifiers that are encoded in the symbol code (SIDC).- Specified by:
putTextModifier
in interfaceILcdEditableMS2525bCoded
- Parameters:
aModifierKey
- the key of the modifier to add.aModifierValue
- the value of the modifier to add.- Throws:
IllegalArgumentException
- if the symbol does not support the given modifier
-
putTextModifier
Sets the given value for the given modifier.
This implementation also supports modifiers that are encoded in the symbol code (SIDC).- Parameters:
aModifier
- the modifier to set the value foraValue
- the value of the modifier to add- Throws:
IllegalArgumentException
- if the symbol does not support the given modifier
-
getOrientation
public double getOrientation()Returns the direction of movement for this object. Do not use this method, instead get the String representation of the direction of movement through thegetTextModifierValue(java.lang.String)
method.- Specified by:
getOrientation
in interfaceILcdOriented
- Returns:
- the value of the text modifier
ILcdMS2525bCoded.sMovementDirection
. If this value is not a number or not defined Double.NaN is returned. - See Also:
-
setOrientation
public void setOrientation(double aOrientation) Sets the direction of movement. Do not use this method, instead set the direction of movement through theputTextModifier(java.lang.String, java.lang.String)
method, using theILcdMS2525bCoded.sMovementDirection
key. The value of that modifier will be adapted to reflected the orientation entered in this method.- Specified by:
setOrientation
in interfaceILcdOrientationSettable
- Parameters:
aOrientation
- the new direction of movement.- See Also:
-
clone
Creates and returns a copy of this object. The point list is cloned. The symbol code, features and text modifiers are copied without being cloned.- Specified by:
clone
in interfaceILcdCloneable
- Specified by:
clone
in interfaceILcdEditableMS2525bCoded
- Overrides:
clone
in classTLcdLonLatPolyline
- See Also:
-
toString
Prints out the name and affiliation.Do not rely on the implementation of this method: it may change without notice.
- Overrides:
toString
in classALcd2DEditablePolypoint
- Returns:
- a string representation of the object.
-
equals
Returns whether the given object is equal to this object. The applied comparison rule is the same as defined by Object#equals(Object), i.e. two non-null objects are the same if and only if they refer to the same object (this == aObject
has the valuetrue
).- Overrides:
equals
in classTLcdLonLatPolyline
- Parameters:
aObject
- the reference object with which to compare.- Returns:
true
if this object is the same as the aObject argument;false
otherwise.- See Also:
-
hashCode
public int hashCode()Returns the same hash code for the given object as returned by the default method Object#hashCode().- Overrides:
hashCode
in classTLcdLonLatPolyline
- Returns:
- a hash code value for this object.
- See Also:
-
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.
-
getFormattedSIDC
Returns a user-friendly representation of the symbol code of the object (SIDC).- Returns:
- a representation without any null characters
- See Also:
-
getEchelon
Retrieves the configured echelon value- Returns:
- the echelon
- See Also:
-
setEchelon
Sets the echelon value for this symbol- Parameters:
aValue
- the new value- See Also:
-
getHierarchyType
Returns the type of this symbol in the symbol hierarchy (e.g. air track, road block, ... ).- Returns:
- the hierarchy type
- See Also:
-
setHierarchyType
Sets the type of this symbol in the symbol hierarchy It leaves other symbol modifier values untouched, unless they become invalid.- Parameters:
aType
- the new hierarchy type. The type must not be a folder.- See Also:
-
getCountry
Returns the current country for this object, or "Undefined" if this object has no country information.- Returns:
- one of
getPossibleCountries()
- See Also:
-
getPossibleCountries
Returns the possible countries this object can be assigned to. The list of countries is based on the FIPS PUB 10-4 codes (now called Geopolitical Entities and Codes), as this is used to encode the country information into the SIDC. If an undefined value is allowed, it is the first value in the list. The remaining entries are alphabetically ordered.- Returns:
- the countries this object can be assigned to, including "Undefined" if applicable
- See Also:
-
setCountry
Sets the current country for this object, or "Undefined" if no country is assigned.- Parameters:
aValue
- one ofgetPossibleCountries()
- See Also:
-
getPossibleStatusValues
Returns the possible status values for this symbol (for example, present or anticipated). If an undefined value is allowed, it is the first value in the list.- Returns:
- the applicable values, including "Undefined"
-
getStatusValue
Returns the current status value of this symbol, or "Undefined" if no status is assigned.- Returns:
- one of
getPossibleStatusValues()
-
setStatusValue
Sets the current status value of this symbol, or "Undefined if no status is assigned.- Parameters:
aValue
- one ofgetPossibleStatusValues()
-
getOrderOfBattleValue
Returns the current order of battle of this symbol, or "Undefined" if no order of battle is assigned.- Returns:
- one of
getPossibleOrderOfBattleValues()
-
getPossibleOrderOfBattleValues
Returns the possible order of battle values for this symbol (e.g. Air OB, Ground OB, ...). If an undefined value is allowed, it is the first value in the list.- Returns:
- the applicable values
-
setOrderOfBattleValue
Sets the current order of battle value of this symbol, or "Undefined" if no order of battle is assigned.- Parameters:
aValue
- one ofgetPossibleOrderOfBattleValues()
-
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.- Returns:
- the applicable values
-
getAffiliationValue
Returns the current affiliation of this symbol, or "Undefined" if the affiliation is not defined for this type of symbol.- Returns:
- one of
getPossibleAffiliationValues()
-
setAffiliationValue
Sets the current affiliation of this symbol.- Parameters:
aValue
- one ofgetPossibleAffiliationValues()
-
getPossibleModifiers
Returns a collection of the possible modifiers of this symbol, i.e. all SIDC and text modifiers- Returns:
- the applicable modifiers
-
getPossibleSIDCModifiers
Returns a collection of the possible SIDC modifiers of this symbol, e.g. the affiliation, status, and so on.- Returns:
- the applicable SIDC modifiers
-
getPossibleTextModifiers
Returns a collection of the possible text modifiers of this symbol, i.e. modifiers that are not encoded in the symbol code.- Returns:
- the applicable text modifiers
-
getDefaultMS2525Code(ELcdMS2525Standard)
instead.