Class TLcdRouteSegment

java.lang.Object
com.luciad.ais.model.route.TLcdRouteSegment
All Implemented Interfaces:
ILcdEditableRouteSegment, ILcdRouteSegment, ILcdDataObject, ILcdPointList, Serializable, Cloneable
Direct Known Subclasses:
TLcdFeaturedRouteSegment

public class TLcdRouteSegment extends Object implements ILcdEditableRouteSegment
An implementation of ILcdRouteSegment.
See Also:
  • Field Details

    • BEGIN_POINT_PROPERTY

      public static final TLcdDataProperty BEGIN_POINT_PROPERTY
      The BeginPoint property of the route segment type. Values of this property are of type ILcdPoint.
    • END_POINT_PROPERTY

      public static final TLcdDataProperty END_POINT_PROPERTY
      The EndPoint property of the route segment type. Values of this property are of type ILcdPoint.
    • SEQUENCE_NUMBER_PROPERTY

      public static final TLcdDataProperty SEQUENCE_NUMBER_PROPERTY
      The SequenceNumber property of the route segment type. Values of this property are of type Integer.
  • Constructor Details

    • TLcdRouteSegment

      @Deprecated public TLcdRouteSegment()
      Constructs a new TLcdRouteSegment starting at the given begin point and ending at the given end point.
    • TLcdRouteSegment

      public TLcdRouteSegment(TLcdRouteSegment aRouteSegment)
      Copy constructor. The begin and end point are copied using cloneAs3DEditablePoint().
      Parameters:
      aRouteSegment - the routeSegment to be copied into a new object
    • TLcdRouteSegment

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

    • 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
    • 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.
    • setSequenceNumber

      public void setSequenceNumber(int aSequenceNumber)
      Description copied from interface: ILcdEditableRouteSegment
      Specifies the segment number of this route segment.
      Specified by:
      setSequenceNumber in interface ILcdEditableRouteSegment
      Parameters:
      aSequenceNumber -
    • setBeginPoint

      public void setBeginPoint(ILcdPoint aBeginPoint)
      Description copied from interface: ILcdEditableRouteSegment
      Specifies the begin point of this route segment.
      Specified by:
      setBeginPoint in interface ILcdEditableRouteSegment
      Parameters:
      aBeginPoint -
    • setEndPoint

      public void setEndPoint(ILcdPoint aEndPoint)
      Description copied from interface: ILcdEditableRouteSegment
      Specifies the end point for this route segment.
      Specified by:
      setEndPoint in interface ILcdEditableRouteSegment
      Parameters:
      aEndPoint -
    • getSequenceNumber

      public int getSequenceNumber()
      Description copied from interface: ILcdRouteSegment
      Returns the segment number of this route segment.
      Specified by:
      getSequenceNumber in interface ILcdRouteSegment
      Returns:
      the segment number of this route segment.
    • getBeginPoint

      public ILcdPoint getBeginPoint()
      Description copied from interface: ILcdRouteSegment
      Returns the first point of this route segment.
      Specified by:
      getBeginPoint in interface ILcdRouteSegment
      Returns:
      the first point of this route segment.
    • getEndPoint

      public ILcdPoint getEndPoint()
      Description copied from interface: ILcdRouteSegment
      Returns the second point of this route segment.
      Specified by:
      getEndPoint in interface ILcdRouteSegment
      Returns:
      the second point of this route segment.
    • getPointCount

      public int getPointCount()
      Returns 2 for a valid route segment with both a begin and end point, 0 otherwise.
      Specified by:
      getPointCount in interface ILcdPointList
      Returns:
      2 for a valid route segment with both a begin and end point, 0 otherwise.
    • getPoint

      public ILcdPoint getPoint(int i) throws IndexOutOfBoundsException
      Description copied from interface: ILcdPointList
      Returns the ILcdPoint at a given index.
      Specified by:
      getPoint in interface ILcdPointList
      Parameters:
      i - a valid index in the list of ILcdPoint objects.
      Returns:
      the ILcdPoint at the given index.
      Throws:
      IndexOutOfBoundsException - if the given index is out of bounds.
    • clone

      public Object clone()
      Returns a clone of this TLcdRouteSegment object. Note: the begin point and end point of the new object are a clone of the begin and end point of this object. Other features are a shallow clone.
      Specified by:
      clone in interface ILcdRouteSegment
      Overrides:
      clone in class Object
      Returns:
      a clone of this TLcdRouteSegment object.