Class TLcdNVG20Group

All Implemented Interfaces:
ILcdDataObject, ILcdNVGNode, ILcdBounded, ILcdEditableShapeList, ILcdShape, ILcdShapeList, ILcdCache, ILcdCloneable, ILcdDeepCloneable, ILcdInvalidateable, Serializable, Cloneable

public class TLcdNVG20Group extends TLcdNVG20Content implements ILcdEditableShapeList, ILcdCache, ILcdInvalidateable
Implementation of an ILcdEditableShapeList that represents an NVG 2.0 Group.

You can retrieve elements through getGeometry() or the ILcdEditableShapeList interface. Composite contain either shapes (e.g. TLcdNVG20Circle), text, symbolized content.

The ILcdEditableShapeList only exposes elements that implement ILcdShape.

Since:
2015.0
See Also:
  • Field Details

    • GEOMETRY_PROPERTY

      public static final TLcdDataProperty GEOMETRY_PROPERTY
      Data property that maps to the choice between the g and composite and text and point and multipoint and circle and ellipse and rect and polyline and arrow and corridor and orbit and polygon and arc and arcband and content-item elements. The possible values for this property are instances of java.util.List with elements of class
    • HREF_PROPERTY

      public static final TLcdDataProperty HREF_PROPERTY
      Data property that maps to the href attribute. The possible values for this property are instances of URI.
    • LABEL_PROPERTY

      public static final TLcdDataProperty LABEL_PROPERTY
      Data property that maps to the label attribute. The possible values for this property are instances of String.
    • STYLE_PROPERTY

      public static final TLcdDataProperty STYLE_PROPERTY
      Data property that maps to the style attribute. The possible values for this property are instances of TLcdNVGStyle.
    • URI_PROPERTY

      public static final TLcdDataProperty URI_PROPERTY
      Data property that maps to the uri attribute. The possible values for this property are instances of URI.
    • METADATA_PROPERTY

      public static final TLcdDataProperty METADATA_PROPERTY
      Data property that maps to the metadata element. The possible values for this property are instances of TLcdNVG20Extension.
    • EXTENDED_DATA_PROPERTY

      public static final TLcdDataProperty EXTENDED_DATA_PROPERTY
      Data property that maps to the ExtendedData element. The possible values for this property are instances of TLcdNVG20ExtendedData.
    • TEXT_INFO_PROPERTY

      public static final TLcdDataProperty TEXT_INFO_PROPERTY
      Data property that maps to the textInfo element. The possible values for this property are instances of String.
    • TIME_STAMP_PROPERTY

      public static final TLcdDataProperty TIME_STAMP_PROPERTY
      Data property that maps to the TimeStamp element. The possible values for this property are instances of XMLGregorianCalendar.
    • TIME_SPAN_PROPERTY

      public static final TLcdDataProperty TIME_SPAN_PROPERTY
      Data property that maps to the TimeSpan element. The possible values for this property are instances of TimeSpan.
    • EXTENSION_PROPERTY

      public static final TLcdDataProperty EXTENSION_PROPERTY
      Data property that maps to the extension element. The possible values for this property are instances of TLcdNVG20Extension.
  • Constructor Details

    • TLcdNVG20Group

      public TLcdNVG20Group()
    • TLcdNVG20Group

      public TLcdNVG20Group(TLcdDataType aDataType)
      Constructs a new instance of TLcdNVG20Group for a given data type.
      Parameters:
      aDataType - The data type for the group
  • Method Details

    • clone

      public TLcdNVG20Group clone()
      Returns a deep clone of this object. This method delegates to TLcdDataObject.clone(Map).
      Specified by:
      clone in interface ILcdCloneable
      Overrides:
      clone in class TLcdDataObject
      Returns:
      a deep clone of this object
      See Also:
    • clone

      public TLcdNVG20Group clone(Map aObjectDictionary)
      Description copied from class: TLcdDataObject
      Returns a deep clone of this object. If the clone is not already present in the dictionary, a new instance if created as follows:
      • First, a new instance is created using Java's clone() mechanism.
      • Then, all properties of this object are cloned and set on the newly created instance. A property is cloned as follows:
        • If the property value is an ILcdDataObject, the value is cloned by first creating a new instance via the value.getDataType().newInstance() method, and then cloning its properties one by one.
        • If the value implements ILcdDeepCloneable or ILcdCloneable then this interface is used to clone the value.
        • Otherwise, the property value is copied by reference.
      Specified by:
      clone in interface ILcdDeepCloneable
      Overrides:
      clone in class TLcdDataObject
      Parameters:
      aObjectDictionary - the Object dictionary that keeps track of the objects for which a clone has already been made, and their corresponding clone Object.
      Returns:
      a deep clone of this object
    • insertIntoCache

      public void insertIntoCache(Object aKey, Object aObject)
      Inserts a cache Object corresponding to the given key Object.
      Specified by:
      insertIntoCache in interface ILcdCache
      Parameters:
      aKey - the key Object that will be used to identify the Object. The key must therefore be a unique identifier, typically the caller itself: insertIntoCache(this, ...).
      aObject - the Object to be cached.
    • getCachedObject

      public Object getCachedObject(Object aKey)
      Looks up and returns the cached Object corresponding to the given key.
      Specified by:
      getCachedObject in interface ILcdCache
      Parameters:
      aKey - the key Object that was used for storing the cache Object.
      Returns:
      the cached Object, or null if there is no Object corresponding to the given key.
    • removeCachedObject

      public Object removeCachedObject(Object aKey)
      Looks up and removes the cached Object corresponding to the given key.
      Specified by:
      removeCachedObject in interface ILcdCache
      Parameters:
      aKey - the key Object that was used for storing the cache Object.
      Returns:
      the cached Object, or null if there was no Object corresponding to the given key.
    • clearCache

      public void clearCache()
      Clears the cache.
      Specified by:
      clearCache in interface ILcdCache
    • getShapeCount

      public int getShapeCount()
      Returns the number of ILcdShape objects in the list.
      Specified by:
      getShapeCount in interface ILcdShapeList
      Returns:
      the number of ILcdShape objects in the list.
    • getObjectCount

      public int getObjectCount()
      Returns the total number of Object objects in the list.
      Returns:
      the total number of Object objects in the list.
    • getShape

      public ILcdShape getShape(int aIndex) throws IndexOutOfBoundsException
      Returns the ILcdShape at the given index.
      Specified by:
      getShape in interface ILcdShapeList
      Parameters:
      aIndex - a valid index in the list of ILcdShape objects.
      Returns:
      the ILcdShape at the given index.
      Throws:
      IndexOutOfBoundsException - when the index is not valid.
    • getObject

      public Object getObject(int aIndex) throws IndexOutOfBoundsException
      Returns the Object at the given index.
      Parameters:
      aIndex - a valid index in the list of Object objects.
      Returns:
      the Object at the given index. This could be a ILcdShape.
      Throws:
      IndexOutOfBoundsException - when the index is not valid.
    • getFocusPoint

      public ILcdPoint getFocusPoint()
      Returns the focus point of this ILcdShape.
      Specified by:
      getFocusPoint in interface ILcdShape
      Returns:
      the focus point of this ILcdShape.
    • contains2D

      public boolean contains2D(ILcdPoint aILcdPoint)
      Checks whether this ILcdShape contains the given ILcdPoint in the 2D space. Only the first two dimensions of the ILcdShape and the ILcdPoint are considered.
      Specified by:
      contains2D in interface ILcdShape
      Parameters:
      aILcdPoint - the ILcdPoint to test.
      Returns:
      the boolean result of the containment test.
      See Also:
    • contains2D

      public boolean contains2D(double aX, double aY)
      Checks whether this ILcdShape contains the given point in the 2D space. Only the first two dimensions of the ILcdShape are considered.
      Specified by:
      contains2D in interface ILcdShape
      Parameters:
      aX - the x coordinate of the point.
      aY - the y coordinate of the point.
      Returns:
      the boolean result of the containment test.
    • contains3D

      public boolean contains3D(ILcdPoint aILcdPoint)
      Checks whether this ILcdShape contains the given ILcdPoint in the 3D space.
      Specified by:
      contains3D in interface ILcdShape
      Parameters:
      aILcdPoint - the ILcdPoint to test.
      Returns:
      the boolean result of the containment test.
      See Also:
    • contains3D

      public boolean contains3D(double aX, double aY, double aZ)
      Checks whether this ILcdShape contains the given point in the 3D space.
      Specified by:
      contains3D in interface ILcdShape
      Parameters:
      aX - the x coordinate of the point.
      aY - the y coordinate of the point.
      aZ - the z coordinate of the point.
      Returns:
      the boolean result of the containment test.
    • getBounds

      public ILcdBounds getBounds()
      Returns the ILcdBounds by which the geometry of this ILcdBounded object is bounded.

      If the geometry does not allow retrieving valid bounds (for example a polyline with 0 points) the return value is unspecified. It is highly recommended to return an undefined bounds. You can create undefined bounds using the default constructors of TLcdLonLatBounds or TLcdXYBounds.

      Specified by:
      getBounds in interface ILcdBounded
      Returns:
      the ILcdBounds by which the geometry of this ILcdBounded object is bounded.
    • getParent

      public ILcdNVGNode getParent()
      Description copied from interface: ILcdNVGNode
      Get the parent of this object.
      Specified by:
      getParent in interface ILcdNVGNode
      Overrides:
      getParent in class TLcdNVG20Content
      Returns:
      The parent of this object.
    • setParent

      public void setParent(ILcdNVGNode aParent)
      Description copied from interface: ILcdNVGNode
      Set the parent of this object to the given parent.
      Specified by:
      setParent in interface ILcdNVGNode
      Overrides:
      setParent in class TLcdNVG20Content
      Parameters:
      aParent - The parent to be set to this object.
    • invalidateObject

      public void invalidateObject()
      Description copied from interface: ILcdInvalidateable
      Invalidates all cached values of this object. Call this method whenever one or more of this object's compositing values has been changed, to notify this object it needs to recompute its cached values.
      Specified by:
      invalidateObject in interface ILcdInvalidateable
    • shapesChanged

      public void shapesChanged()
      Description copied from interface: ILcdEditableShapeList
      Notifies this ILcdShapeList that some (possibly all) of its shapes have changed.
      Specified by:
      shapesChanged in interface ILcdEditableShapeList
    • shapeChanged

      public void shapeChanged(ILcdShape aShape)
      Description copied from interface: ILcdEditableShapeList
      Notifies this ILcdShapeList that the specified shape has changed.
      Specified by:
      shapeChanged in interface ILcdEditableShapeList
      Parameters:
      aShape - the shape that has changed.
    • shapeChanged

      public void shapeChanged(int aIndex)
      Description copied from interface: ILcdEditableShapeList
      Notifies this ILcdShapeList that the shape at the specified position has changed.
      Specified by:
      shapeChanged in interface ILcdEditableShapeList
      Parameters:
      aIndex - the index of the shape that has changed.
    • setShapes

      public void setShapes(ILcdShape[] aShapes)
      Description copied from interface: ILcdEditableShapeList
      Replace the list of shapes contained in this ILcdShapeList with the specified array of shapes.
      Specified by:
      setShapes in interface ILcdEditableShapeList
      Parameters:
      aShapes - the array of shapes to be stored in this ILcdShapeList.
    • removeShapes

      public void removeShapes(ILcdShape[] aShapes)
      Description copied from interface: ILcdEditableShapeList
      Removes all shapes from this ILcdShapeList that are contained in the specified array of shapes.
      Specified by:
      removeShapes in interface ILcdEditableShapeList
      Parameters:
      aShapes - the array of shapes to be removed from this ILcdShapeList.
    • removeShape

      public boolean removeShape(ILcdShape aShape)
      Description copied from interface: ILcdEditableShapeList
      Removes the first occurrence of the specified shape in this ILcdShapeList. If this ILcdShapeList does not contain the shape, it is unchanged.
      Specified by:
      removeShape in interface ILcdEditableShapeList
      Parameters:
      aShape - the shape to be removed, if present.
      Returns:
      true if this ILcdShapeList contained the specified element.
    • clearShapes

      public void clearShapes()
      Description copied from interface: ILcdEditableShapeList
      Removes all of the shapes from this ILcdShapeList.
      Specified by:
      clearShapes in interface ILcdEditableShapeList
    • addShapes

      public void addShapes(ILcdShape[] aShapes)
      Description copied from interface: ILcdEditableShapeList
      Appends the specified array of shapes to the end of this ILcdShapeList.
      Specified by:
      addShapes in interface ILcdEditableShapeList
      Parameters:
      aShapes - the array of shapes to be appended to this ILcdShapeList.
    • addShape

      public void addShape(int aIndex, ILcdShape aShape)
      Description copied from interface: ILcdEditableShapeList
      Inserts the specified shape at the specified position in this ILcdShapeList.
      Specified by:
      addShape in interface ILcdEditableShapeList
      Parameters:
      aIndex - the index at which the shape is to be inserted.
      aShape - the shape to be inserted.
    • removeShape

      public ILcdShape removeShape(int aIndex)
      Description copied from interface: ILcdEditableShapeList
      Removes the shape at the specified position in this ILcdShapeList. Shifts any subsequent shapes to the left. Returns the shape that was removed from this ILcdShapeList.
      Specified by:
      removeShape in interface ILcdEditableShapeList
      Parameters:
      aIndex - the index of the shape to removed.
      Returns:
      the shape previously at the specified position.
    • setShape

      public ILcdShape setShape(int aIndex, ILcdShape aShape)
      Description copied from interface: ILcdEditableShapeList
      Replaces the shape at the specified position in this ILcdShapeList with the specified shape.
      Specified by:
      setShape in interface ILcdEditableShapeList
      Parameters:
      aIndex - index of shape to replace.
      aShape - the shape to be stored at the specified position.
      Returns:
      the shape previously at the specified position.
    • addShape

      public void addShape(ILcdShape aShape)
      Description copied from interface: ILcdEditableShapeList
      Appends the specified shape to the end of this ILcdShapeList.
      Specified by:
      addShape in interface ILcdEditableShapeList
      Parameters:
      aShape - the shape to be appended to this ILcdShapeList.
    • getGeometry

      public List<Object> getGeometry()
      Returns the value of the property that maps to the choice between the g and composite and text and point and multipoint and circle and ellipse and rect and polyline and arrow and corridor and orbit and polygon and arc and arcband and content-item elements.

      The possible values for this property are instances of java.util.List with elements of class

      Returns:
      the value of the GEOMETRY_PROPERTY property.
    • getHref

      public URI getHref()
      Returns the value of the property that maps to the href attribute.

      A URL to human readable content providing more information about the ContentType. Typically the NVG document will contain just a small amount of metadata required to render the content. The URL allows the user to drill-down (click through) to the full content.

      Returns:
      the value of the HREF_PROPERTY property.
    • setHref

      public void setHref(URI aValue)
      Sets the value of the property that maps to the href attribute.

      A URL to human readable content providing more information about the ContentType. Typically the NVG document will contain just a small amount of metadata required to render the content. The URL allows the user to drill-down (click through) to the full content.

      Parameters:
      aValue - the value to set for the HREF_PROPERTY property.
    • getLabel

      public String getLabel()
      Returns the value of the property that maps to the label attribute.

      A short text label describing the content. Long text should be placed in the text element.

      Returns:
      the value of the LABEL_PROPERTY property.
    • setLabel

      public void setLabel(String aValue)
      Sets the value of the property that maps to the label attribute.

      A short text label describing the content. Long text should be placed in the text element.

      Parameters:
      aValue - the value to set for the LABEL_PROPERTY property.
    • getStyle

      public TLcdNVGStyle getStyle()
      Returns the value of the property that maps to the style attribute.

      A text string (inline CSS string) that defines how objects should be rendered graphically.

      Returns:
      the value of the STYLE_PROPERTY property.
    • setStyle

      public void setStyle(TLcdNVGStyle aValue)
      Sets the value of the property that maps to the style attribute.

      A text string (inline CSS string) that defines how objects should be rendered graphically.

      Parameters:
      aValue - the value to set for the STYLE_PROPERTY property.
    • getUri

      public URI getUri()
      Returns the value of the property that maps to the uri attribute.

      The unique identifier for the content. The URI is immutable and shall remain constant across documents produced by the same source. Furthermore, the URI shall remain constant as the document is transferred through a mediation service/process.

      Returns:
      the value of the URI_PROPERTY property.
    • setUri

      public void setUri(URI aValue)
      Sets the value of the property that maps to the uri attribute.

      The unique identifier for the content. The URI is immutable and shall remain constant across documents produced by the same source. Furthermore, the URI shall remain constant as the document is transferred through a mediation service/process.

      Parameters:
      aValue - the value to set for the URI_PROPERTY property.
    • getMetadata

      public TLcdNVG20Extension getMetadata()
      Returns the value of the property that maps to the metadata element.

      named container for NDMS / Dublin Core defined metadata

      Returns:
      the value of the METADATA_PROPERTY property.
    • setMetadata

      public void setMetadata(TLcdNVG20Extension aValue)
      Sets the value of the property that maps to the metadata element.

      named container for NDMS / Dublin Core defined metadata

      Parameters:
      aValue - the value to set for the METADATA_PROPERTY property.
    • getExtendedData

      public TLcdNVG20ExtendedData getExtendedData()
      Returns the value of the property that maps to the ExtendedData element.
      Returns:
      the value of the EXTENDED_DATA_PROPERTY property.
    • setExtendedData

      public void setExtendedData(TLcdNVG20ExtendedData aValue)
      Sets the value of the property that maps to the ExtendedData element.
      Parameters:
      aValue - the value to set for the EXTENDED_DATA_PROPERTY property.
    • getTextInfo

      public String getTextInfo()
      Returns the value of the property that maps to the textInfo element.

      Additional human readable text in addition to @label. Long text content should be placed here.

      Returns:
      the value of the TEXT_INFO_PROPERTY property.
    • setTextInfo

      public void setTextInfo(String aValue)
      Sets the value of the property that maps to the textInfo element.

      Additional human readable text in addition to @label. Long text content should be placed here.

      Parameters:
      aValue - the value to set for the TEXT_INFO_PROPERTY property.
    • getTimeStamp

      public XMLGregorianCalendar getTimeStamp()
      Returns the value of the property that maps to the TimeStamp element.

      comparable point in time (DTG) to represent the last state change of this element

      Returns:
      the value of the TIME_STAMP_PROPERTY property.
    • setTimeStamp

      public void setTimeStamp(XMLGregorianCalendar aValue)
      Sets the value of the property that maps to the TimeStamp element.

      comparable point in time (DTG) to represent the last state change of this element

      Parameters:
      aValue - the value to set for the TIME_STAMP_PROPERTY property.
    • getTimeSpan

      public TLcdNVG20Content.TimeSpan getTimeSpan()
      Returns the value of the property that maps to the TimeSpan element.

      Define a show/hide period (based on strict DTG) for the shape as defined by KML on https://developers.google.com/kml/documentation/kmlreference#timespan

      Returns:
      the value of the TIME_SPAN_PROPERTY property.
    • setTimeSpan

      public void setTimeSpan(TLcdNVG20Content.TimeSpan aValue)
      Sets the value of the property that maps to the TimeSpan element.

      Define a show/hide period (based on strict DTG) for the shape as defined by KML on https://developers.google.com/kml/documentation/kmlreference#timespan

      Parameters:
      aValue - the value to set for the TIME_SPAN_PROPERTY property.
    • getExtension

      public TLcdNVG20Extension getExtension()
      Returns the value of the property that maps to the extension element.

      Extension point for structured community of interest specific content.

      Returns:
      the value of the EXTENSION_PROPERTY property.
    • setExtension

      public void setExtension(TLcdNVG20Extension aValue)
      Sets the value of the property that maps to the extension element.

      Extension point for structured community of interest specific content.

      Parameters:
      aValue - the value to set for the EXTENSION_PROPERTY property.