Package com.luciad.ais.model.procedure
Class TLcdProcedure
java.lang.Object
com.luciad.ais.model.procedure.TLcdProcedure
- All Implemented Interfaces:
ILcdEditableProcedure
,ILcdProcedure
,ILcdDataObject
- Direct Known Subclasses:
TLcdFeaturedProcedure
,TLcdHolding
An implementation of
ILcdEditableProcedure
.-
Field Summary
Modifier and TypeFieldDescriptionstatic final TLcdDataProperty
The Aerodrome property of the procedure type.static final TLcdDataProperty
The Designator property of the procedure type.static final TLcdDataProperty
The Legs property of the procedure type.static final TLcdDataProperty
The Type property of the procedure type. -
Constructor Summary
ConstructorDescriptionDeprecated.TLcdProcedure
(TLcdDataType aDataType) Creates a new instance for the given type. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addLeg
(ILcdProcedureLeg aLeg) Adds a leg to this procedure.Creates a copy of this procedure which implementsILcdEditableProcedure
.Returns the type of this data object.getLeg
(int aIndex) int
getType()
getValue
(TLcdDataProperty aProperty) Returns the value of the given property.Convenience method that returns the value of the property with the given name.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
insertSegmentAt
(ILcdProcedureLeg aLeg, int aIndex) Inserts the given leg into the procedure at the specified index.boolean
removeLeg
(ILcdProcedureLeg aLeg) Removes the specified leg from this procedure.void
setAerodrome
(ILcdAerodrome aAerodrome) Sets theILcdAerodrome
associated with this procedure.void
setDesignator
(String aDesignator) Sets the unique identifier of this procedure to the given string.void
setType
(TLcdProcedureType aType) Sets the type of this procedure.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.
-
Field Details
-
DESIGNATOR_PROPERTY
The Designator property of the procedure type. Values of this property are of typeString
. -
LEGS_PROPERTY
The Legs property of the procedure type. Values of this property are Lists of objects of typeILcdProcedureLeg
. -
AERODROME_PROPERTY
The Aerodrome property of the procedure type. Values of this property are of typeILcdAerodrome
. -
TYPE_PROPERTY
The Type property of the procedure type. Values of this property are of typeTLcdProcedureType
.
-
-
Constructor Details
-
TLcdProcedure
Deprecated. -
TLcdProcedure
Creates a new instance for the given type.- Parameters:
aDataType
- the data type of the returned instance- Throws:
IllegalArgumentException
- ifTLcdAISDataTypes.Procedure
is not assignable from the given data type- Since:
- 10.1
- See Also:
-
-
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.
-
getDesignator
- Specified by:
getDesignator
in interfaceILcdProcedure
- Returns:
- The unique identifier of this procedure.
-
setDesignator
Description copied from interface:ILcdEditableProcedure
Sets the unique identifier of this procedure to the given string.- Specified by:
setDesignator
in interfaceILcdEditableProcedure
- Parameters:
aDesignator
- the unique identifier of this procedure to the given string.
-
getType
- Specified by:
getType
in interfaceILcdProcedure
- Returns:
- The type of this procedure (SID, STAR, IAP)
-
setType
Description copied from interface:ILcdEditableProcedure
Sets the type of this procedure.- Specified by:
setType
in interfaceILcdEditableProcedure
- Parameters:
aType
- Either SID, STAR or IAP.
-
getLegCount
public int getLegCount()- Specified by:
getLegCount
in interfaceILcdProcedure
- Returns:
- The number of legs in this procedure.
-
getLeg
- Specified by:
getLeg
in interfaceILcdProcedure
- Parameters:
aIndex
-- Returns:
- The
ILcdProcedureLeg
at the given index. - Throws:
IndexOutOfBoundsException
-
addLeg
Description copied from interface:ILcdEditableProcedure
Adds a leg to this procedure.- Specified by:
addLeg
in interfaceILcdEditableProcedure
- Parameters:
aLeg
- the leg to be added.
-
removeLeg
Description copied from interface:ILcdEditableProcedure
Removes the specified leg from this procedure.- Specified by:
removeLeg
in interfaceILcdEditableProcedure
- Parameters:
aLeg
- the leg to be removed.- Returns:
- true if the leg was successfully removed.
-
insertSegmentAt
Description copied from interface:ILcdEditableProcedure
Inserts the given leg into the procedure at the specified index.- Specified by:
insertSegmentAt
in interfaceILcdEditableProcedure
- Parameters:
aLeg
- the leg to be added.aIndex
- the index at which to insert the new leg.
-
getAerodrome
- Specified by:
getAerodrome
in interfaceILcdProcedure
- Returns:
- The
ILcdAerodrome
associated with this procedure.
-
setAerodrome
Description copied from interface:ILcdEditableProcedure
Sets theILcdAerodrome
associated with this procedure.- Specified by:
setAerodrome
in interfaceILcdEditableProcedure
- Parameters:
aAerodrome
- theILcdAerodrome
associated with this procedure.
-
cloneAsEditableProcedure
Description copied from interface:ILcdProcedure
Creates a copy of this procedure which implementsILcdEditableProcedure
. The copy may be a shallow one. This method is used to assemble new procedures out of legs from existing ones.- Specified by:
cloneAsEditableProcedure
in interfaceILcdProcedure
- Returns:
- An
ILcdEditableProcedure
.
-
TLcdProcedure(TLcdDataType)