Class TLcdRunway

java.lang.Object
com.luciad.ais.shape.TLcdAISPolyline
com.luciad.ais.model.aerodrome.TLcdRunway
All Implemented Interfaces:
ILcdEditableRunway, ILcdRunway, ILcdDataObject, ILcdBounded, ILcdCurve, ILcdPointList, ILcdPolyline, ILcdShape, ILcd2DEditablePointList, ILcd2DEditablePolyline, ILcd2DEditableShape, ILcd3DEditablePointList, ILcd3DEditablePolyline, ILcd3DEditableShape, ILcdCache, ILcdCloneable, Serializable, Cloneable
Direct Known Subclasses:
TLcdFeaturedRunway

public class TLcdRunway extends TLcdAISPolyline implements ILcdDataObject, ILcdEditableRunway
The default implementation of a runway with default properties. Note that this class extends TLcdAISPolyline, and so it is required to set a delegate polyline implementation using the set3DEditablePolyline() method before using the runway object.
See Also:
  • Field Details

    • GEOMETRY_PROPERTY

      public static final TLcdDataProperty GEOMETRY_PROPERTY
      The geometry property of the runway type. The geometry property is of type ILcd3DEditablePolyline.
    • RUNWAY_DIRECTIONS_PROPERTY

      public static final TLcdDataProperty RUNWAY_DIRECTIONS_PROPERTY
      The RunwayDirections property of the runway type. The property is a List that contains ILcdRunwayDirection objects.
  • Constructor Details

    • TLcdRunway

      @Deprecated public TLcdRunway()
      Deprecated.
      Creates a new TLcdRunway object.
    • TLcdRunway

      public TLcdRunway(TLcdRunway aRunway)
      Copy constructor.
      Parameters:
      aRunway - the runway to be copied into a new object
    • TLcdRunway

      public TLcdRunway(TLcdDataType aDataType)
      Creates a new instance for the given type.
      Parameters:
      aDataType - the data type of the returned instance
      Throws:
      IllegalArgumentException - if TLcdAISDataTypes.Runway is not assignable from the given data type
      Since:
      10.1
      See Also:
  • Method Details

    • getRunwayDirection

      public ILcdRunwayDirection getRunwayDirection(int aIndex)
      Description copied from interface: ILcdRunway
      Returns the direction at the given index.
      Specified by:
      getRunwayDirection in interface ILcdRunway
      Parameters:
      aIndex - The index of the direction to be returned.
      Returns:
      the direction at the given index.
    • getRunwayDirectionCount

      public int getRunwayDirectionCount()
      Description copied from interface: ILcdRunway
      Returns the number of directions. The number of directions is 1 or 2.
      Specified by:
      getRunwayDirectionCount in interface ILcdRunway
      Returns:
      the number of runway directions.
    • getWidth

      public double getWidth()
      Description copied from interface: ILcdRunway
      Returns the width of the runway.
      Specified by:
      getWidth in interface ILcdRunway
      Returns:
      the width of the runway in meter.
    • setRunwayDirection

      public void setRunwayDirection(int aIndex, ILcdRunwayDirection aDirection)
      Description copied from interface: ILcdEditableRunway
      Specifies a value for the direction at the given position.

      This is a required relationship.

      Specified by:
      setRunwayDirection in interface ILcdEditableRunway
      Parameters:
      aIndex - 0 or 1 (maximum 2 runway directions)
      aDirection - the runway direction to be added to the runway
    • setWidth

      public void setWidth(double aWidth)
      Specifies the width of the runway.
      Specified by:
      setWidth in interface ILcdEditableRunway
      Parameters:
      aWidth - a double value greater than or equal to zero
      Throws:
      IllegalArgumentException - if the given width is a negative number
    • getDataType

      public TLcdDataType getDataType()
      Description copied from interface: ILcdDataObject
      Returns the type of this data object. This can never be null.
      Specified by:
      getDataType in interface ILcdDataObject
      Returns:
      the type of this data object
    • getValue

      public Object getValue(TLcdDataProperty aProperty)
      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 an IllegalArgumentException is thrown.

      Specified by:
      getValue in interface ILcdDataObject
      Parameters:
      aProperty - the property for which the value is to be returned
      Returns:
      the value of the given property for this data object
    • getValue

      public Object getValue(String aPropertyName)
      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).

      See ILcdDataObject.getValue(TLcdDataProperty) for more information.

      Specified by:
      getValue in interface ILcdDataObject
      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

      public void setValue(TLcdDataProperty aProperty, Object aValue)
      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 the data 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.

      Specified by:
      setValue in interface ILcdDataObject
      Parameters:
      aProperty - the property for which the value is to be set
      aValue - the value to set
      See Also:
    • setValue

      public void setValue(String aPropertyName, Object aValue)
      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).

      See ILcdDataObject.setValue(TLcdDataProperty, Object) for more information.

      Specified by:
      setValue in interface ILcdDataObject
      Parameters:
      aPropertyName - the name of the property of which the value is to be set
      aValue - the value to set
    • isTraceOn

      public boolean isTraceOn()
      Deprecated.
      This method has been deprecated. It is recommended to use the standard Java logging framework directly.
      Returns true if tracing is enabled for this class.
      Returns:
      true if tracing is enabled for this class, false otherwise.
    • setTraceOn

      public static void setTraceOn(boolean aClassTraceOn)
      Deprecated.
      This method has been deprecated. It is recommended to use the standard Java logging framework directly.
      Enables tracing for all instances of this class. If the argument is true then all log messages are recorded, otherwise only the informative, warning and error messages are recorded.
      Parameters:
      aClassTraceOn - if true then all log messages are recorded, otherwise only the informative, warning and error messages are recorded.
    • hasValue

      public boolean hasValue(TLcdDataProperty aProperty)
      Description copied from interface: ILcdDataObject
      Indicates whether this data object has a value for the given property.

      • 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 IllegalArgumentException
      • aProperty is null: not allowed, you will get NullPointerException

      A multivalued property is considered to have a value if it has at least one value.

      Specified by:
      hasValue in interface ILcdDataObject
      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

      public boolean hasValue(String aPropertyName)
      Description copied from interface: ILcdDataObject
      Indicates whether this data object has a value for the given property.
      See ILcdDataObject.hasValue(TLcdDataProperty) for more information.
      Specified by:
      hasValue in interface ILcdDataObject
      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.