public class TLcdProcedure extends Object implements ILcdProcedure, ILcdEditableProcedure
ILcdEditableProcedure
.Modifier and Type | Field and Description |
---|---|
static TLcdDataProperty |
AERODROME_PROPERTY
The Aerodrome property of the procedure type.
|
static TLcdDataProperty |
DESIGNATOR_PROPERTY
The Designator property of the procedure type.
|
static TLcdDataProperty |
LEGS_PROPERTY
The Legs property of the procedure type.
|
static TLcdDataProperty |
TYPE_PROPERTY
The Type property of the procedure type.
|
Constructor and Description |
---|
TLcdProcedure()
Deprecated.
|
TLcdProcedure(TLcdDataType aDataType)
Creates a new instance for the given type.
|
Modifier and Type | Method and Description |
---|---|
void |
addLeg(ILcdProcedureLeg aLeg)
Adds a leg to this procedure.
|
ILcdEditableProcedure |
cloneAsEditableProcedure()
Creates a copy of this procedure which implements
ILcdEditableProcedure . |
ILcdAerodrome |
getAerodrome() |
TLcdDataType |
getDataType()
Returns the type of this data object.
|
String |
getDesignator() |
ILcdProcedureLeg |
getLeg(int aIndex) |
int |
getLegCount() |
TLcdProcedureType |
getType() |
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.
|
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.
|
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 the
ILcdAerodrome 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(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.
|
public static final TLcdDataProperty DESIGNATOR_PROPERTY
String
.public static final TLcdDataProperty LEGS_PROPERTY
ILcdProcedureLeg
.public static final TLcdDataProperty AERODROME_PROPERTY
ILcdAerodrome
.public static final TLcdDataProperty TYPE_PROPERTY
TLcdProcedureType
.@Deprecated public TLcdProcedure()
TLcdProcedure(TLcdDataType)
public TLcdProcedure(TLcdDataType aDataType)
aDataType
- the data type of the returned instanceIllegalArgumentException
- if TLcdAISDataTypes.Procedure
is not assignable from
the given data typeTLcdAISDataTypes.Procedure
public TLcdDataType getDataType()
ILcdDataObject
null
.getDataType
in interface ILcdDataObject
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 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(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 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 getDesignator()
getDesignator
in interface ILcdProcedure
public void setDesignator(String aDesignator)
ILcdEditableProcedure
setDesignator
in interface ILcdEditableProcedure
aDesignator
- the unique identifier of this procedure to the given string.public TLcdProcedureType getType()
getType
in interface ILcdProcedure
public void setType(TLcdProcedureType aType)
ILcdEditableProcedure
setType
in interface ILcdEditableProcedure
aType
- Either SID, STAR or IAP.public int getLegCount()
getLegCount
in interface ILcdProcedure
public ILcdProcedureLeg getLeg(int aIndex) throws IndexOutOfBoundsException
getLeg
in interface ILcdProcedure
ILcdProcedureLeg
at the given index.IndexOutOfBoundsException
public void addLeg(ILcdProcedureLeg aLeg)
ILcdEditableProcedure
addLeg
in interface ILcdEditableProcedure
aLeg
- the leg to be added.public boolean removeLeg(ILcdProcedureLeg aLeg)
ILcdEditableProcedure
removeLeg
in interface ILcdEditableProcedure
aLeg
- the leg to be removed.public void insertSegmentAt(ILcdProcedureLeg aLeg, int aIndex)
ILcdEditableProcedure
insertSegmentAt
in interface ILcdEditableProcedure
aLeg
- the leg to be added.aIndex
- the index at which to insert the new leg.public ILcdAerodrome getAerodrome()
getAerodrome
in interface ILcdProcedure
ILcdAerodrome
associated with this procedure.public void setAerodrome(ILcdAerodrome aAerodrome)
ILcdEditableProcedure
ILcdAerodrome
associated with this procedure.setAerodrome
in interface ILcdEditableProcedure
aAerodrome
- the ILcdAerodrome
associated with this procedure.public ILcdEditableProcedure cloneAsEditableProcedure()
ILcdProcedure
ILcdEditableProcedure
.
The copy may be a shallow one. This method is used to assemble new
procedures out of legs from existing ones.cloneAsEditableProcedure
in interface ILcdProcedure
ILcdEditableProcedure
.