Class TLcdKML22Kml

java.lang.Object
com.luciad.datamodel.TLcdDataObject
com.luciad.format.kml22.model.TLcdKML22Kml
All Implemented Interfaces:
ILcdDataObject, ILcd2DBoundsIndexedModel, ILcd2DBoundsInteractable, ILcdIntegerIndexedModel, ILcdModel, ILcdModelContainer, ILcdModelProducerListener, ILcdModelTreeNode, ILcdBounded, ILcdCache, ILcdCloneable, ILcdDeepCloneable, ILcdDisposable, Serializable, AutoCloseable, Cloneable, ReadWriteLock, EventListener

Domain class modeling the KML KmlType type.

This class is the root model of each decoded KML file.

This model is purely static, meaning that network links won't be resolved. A network link will be available in the model hierarchy as an empty model.

Dynamic contents of KML models can be enabled by wrapping this model into a TLcdKML22DynamicModel.

Since:
10.0
See Also:
  • Field Details

    • HINT_PROPERTY

      public static final TLcdDataProperty HINT_PROPERTY
      Data property that maps to the hint attribute. The possible values for this property are instances of String.
    • ABSTRACT_FEATURE_GROUP_PROPERTY

      public static final TLcdDataProperty ABSTRACT_FEATURE_GROUP_PROPERTY
      Data property that maps to the AbstractFeatureGroup element. The possible values for this property are instances of TLcdKML22AbstractFeature.
    • KML_SIMPLE_EXTENSION_GROUP_PROPERTY

      public static final TLcdDataProperty KML_SIMPLE_EXTENSION_GROUP_PROPERTY
      Data property that maps to the KmlSimpleExtensionGroup element. The possible values for this property are instances of List<String>.
    • KML_OBJECT_EXTENSION_GROUP_PROPERTY

      public static final TLcdDataProperty KML_OBJECT_EXTENSION_GROUP_PROPERTY
      Data property that maps to the KmlObjectExtensionGroup element. The possible values for this property are instances of List<TLcdKML22AbstractObject>.
  • Constructor Details

    • TLcdKML22Kml

      public TLcdKML22Kml(TLcdDataType aType)
      Creates a new TLcdKML22Kml with a custom TLcdDataType.
      Parameters:
      aType - a custom TLcdDataType
  • Method Details

    • setModelDescriptor

      public void setModelDescriptor(ILcdModelDescriptor aModelDescriptor)
      Parameters:
      aModelDescriptor - A valid ILcdModelDescriptor
    • setModelReference

      public void setModelReference(ILcdModelReference aModelReference)
      Parameters:
      aModelReference - A valid ILcdModelReference
    • fireCollectedModelChanges

      public void fireCollectedModelChanges(boolean aIsAdjusting)

      Fires all collected model change events, with a given adjustment flag

      Parameters:
      aIsAdjusting - If true, will signal that more events will follow this event. If false, signals that this is the final event in a series of events.
    • getModelReference

      public ILcdModelReference getModelReference()
      Description copied from interface: ILcdModelTreeNode
      Returns the ILcdModelReference describing how the geometry of the elements contained in this model should be interpreted.

      This model reference is independent of the model reference(s) of the child models of this node.

      Specified by:
      getModelReference in interface ILcdModel
      Specified by:
      getModelReference in interface ILcdModelTreeNode
      Returns:
      the ILcdModelReference of this ILcdModel.
    • getModelDescriptor

      public ILcdModelDescriptor getModelDescriptor()
      Description copied from interface: ILcdModelTreeNode
      Returns the ILcdModelDescriptor providing meta information about this model and its elements.

      This model descriptor is independent of the model descriptor(s) of the child models of this node.

      Specified by:
      getModelDescriptor in interface ILcdModel
      Specified by:
      getModelDescriptor in interface ILcdModelTreeNode
      Returns:
      the ILcdModelDescriptor of this ILcdModel. Should not be null.
    • getModelEncoder

      public ILcdModelEncoder getModelEncoder()
      Description copied from interface: ILcdModelTreeNode
      Returns, if available, a model encoder that is capable of encoding this model, (encoder.canEncode(this)), null otherwise.

      It is implementation-dependant whether this encoder considers the child models or not.

      Specified by:
      getModelEncoder in interface ILcdModel
      Specified by:
      getModelEncoder in interface ILcdModelTreeNode
      Returns:
      a model encoder that is capable of encoding this model if available, null otherwise.
    • getModelMetadata

      public TLcdModelMetadata getModelMetadata()
      Description copied from interface: ILcdModel
      Collects and returns metadata about the model. Note that this method does not necessarily return the same TLcdModelMetadata instance every time it is called. The default implementation uses TLcdModelMetadata.Builder.fromModel(com.luciad.model.ILcdModel).

      Implementations can recreate or extend the metadata. The following example adds a data category and source file mime type:

      
         public TLcdModelMetadata getModelMetadata() {
           String source = this.getModelDescriptor().getSourceName();
           return this.getModelMetadata().asBuilder()
                                         .entryPoint(new TLcdModelMetadata.Source(source, MIME_XML))
                                         .addDataCategory(TLcdModelMetadata.DataCategory.VECTOR)
                                         .build();
         }
       
      Specified by:
      getModelMetadata in interface ILcdModel
      Returns:
      Metadata about the model.
    • elements

      public Enumeration elements()
      Description copied from interface: ILcdModelTreeNode
      Returns an enumeration over all elements of this model. The order in which the elements are enumerated is unspecified by default.

      The elements of the child model(s) are not included in this enumeration.

      Specified by:
      elements in interface ILcdModel
      Specified by:
      elements in interface ILcdModelTreeNode
      Returns:
      an enumeration over all elements of this model. The elements of the child model(s) are not included in this enumeration.
    • addElement

      public void addElement(Object aElement, int aEventMode)
      Description copied from interface: ILcdModelTreeNode
      Adds the specified element to this model.

      Models that support this operation may place limitations on what elements may be added to this model. For example, implementations that are based on a spatial indexing structure will require that elements implement ILcdBounded.

      When adding an element, the user should make sure that canAddElement(aElement) holds, and that the element's geometry is expressed in the same model reference as this model. It is generally undefined what happens if an invalid element is added.

      Implementations of this interface should clearly specify in their documentation any restrictions on what elements may be added. Although it is unspecified what happens if the preconditions are not met, implementations are encouraged to throw meaningful exceptions (for example, NullPointerException, IllegalArgumentException, ClassCastException, UnsupportedOperationException), whenever possible.

      The element will only be added to this model node and not to any of the child model(s).

      Specified by:
      addElement in interface ILcdModel
      Specified by:
      addElement in interface ILcdModelTreeNode
      Parameters:
      aElement - the element to be added to this model.
      aEventMode - the mode for sending out the model change event. This can be FIRE_LATER or NO_EVENT.
      See Also:
    • canAddElement

      public boolean canAddElement(Object aElement)
      Description copied from interface: ILcdModelTreeNode
      Returns true if the specified element can be added to this model, false otherwise.

      Note that this method generally does not validate whether the specified element is expressed in the same model reference as this model. It is the responsibility of the user of this model to make sure this precondition is fulfilled when an element is added to this model.

      This method only checks this model node and not any of the child models.

      Specified by:
      canAddElement in interface ILcdModel
      Specified by:
      canAddElement in interface ILcdModelTreeNode
      Parameters:
      aElement - the element to be verified.
      Returns:
      true if the specified element can be added to this model, false otherwise.
    • addElements

      public void addElements(Vector aElements, int aEventMode)
      Description copied from interface: ILcdModelTreeNode
      Adds all of the elements in the specified vector to this model. Models that support this operation may place limitations on what elements may be added to this model. For example, implementations that are based on a spatial indexing structure will require that elements implement ILcdBounded. Implementations of this interface should clearly specify in their documentation any restrictions on what elements may be added.

      The behavior of this operation is undefined if the specified vector is modified while the operation is in progress.

      The specified elements will be added to this model in the order they are specified in the vector. If an element cannot be added, this method will return at the first failure. Succeeding elements won't be added.

      Although it is unspecified what happens if the preconditions are not met, implementations are encouraged to throw meaningful exceptions (for example, NullPointerException, IllegalArgumentException, ClassCastException, UnsupportedOperationException), whenever possible.

      The elements will only be added to this model node and not to any of the child model(s).

      Specified by:
      addElements in interface ILcdModel
      Specified by:
      addElements in interface ILcdModelTreeNode
      Parameters:
      aElements - the vector of elements to be added to this model.
      aEventMode - the mode for sending the model change events This can be FIRE_LATER or NO_EVENT.
      See Also:
    • removeElement

      public void removeElement(Object aElement, int aEventMode)
      Description copied from interface: ILcdModelTreeNode
      Removes the specified element from this model. If the specified element is not contained in this model, this method has no effect.

      Although it is unspecified what happens if the preconditions are not met, implementations are encouraged to throw meaningful exceptions (for example, NullPointerException, IllegalArgumentException, ClassCastException, UnsupportedOperationException), whenever possible.

      The element will not be removed from the child model(s).

      Specified by:
      removeElement in interface ILcdModel
      Specified by:
      removeElement in interface ILcdModelTreeNode
      Parameters:
      aElement - the element to be removed from this model.
      aEventMode - the mode for sending out the model change event. This can be FIRE_LATER or NO_EVENT.
      See Also:
    • canRemoveElement

      public boolean canRemoveElement(Object aElement)
      Description copied from interface: ILcdModelTreeNode
      Returns true if the specified element can be removed from this model, false otherwise. Note that this method generally does not check whether the specified element is actually contained in this model.

      This method will only check this model node and not any of the child models.

      Specified by:
      canRemoveElement in interface ILcdModel
      Specified by:
      canRemoveElement in interface ILcdModelTreeNode
      Parameters:
      aElement - the element to be verified.
      Returns:
      true if the specified element can be removed from this model, false otherwise.
    • removeElements

      public void removeElements(Vector aElements, int aEventMode)
      Description copied from interface: ILcdModelTreeNode
      Removes all of the elements in the specified vector from this model. If one of the elements in the specified vector is not contained in this model, this element will be ignored.

      The behavior of this operation is undefined if the specified vector is modified while the operation is in progress.

      The specified elements will be removed from this model in the order they are specified in the vector. If an element cannot be removed, this method will return at the first failure. Succeeding elements won't be removed.

      Although it is unspecified what happens if the preconditions are not met, implementations are encouraged to throw meaningful exceptions (for example, NullPointerException, IllegalArgumentException, ClassCastException, UnsupportedOperationException), whenever possible.

      The elements will not be removed from the child model(s).

      Specified by:
      removeElements in interface ILcdModel
      Specified by:
      removeElements in interface ILcdModelTreeNode
      Parameters:
      aElements - the vector of elements to be removed from this model.
      aEventMode - the mode for sending out the model change event. This can be FIRE_LATER or NO_EVENT.
      See Also:
    • removeAllElements

      public void removeAllElements(int aEventMode)
      Description copied from interface: ILcdModelTreeNode
      Removes all elements from this model.

      If an element cannot be removed, this method will return at the first failure. Succeeding elements won't be removed.

      Although it is unspecified what happens if the preconditions are not met, implementations are encouraged to throw meaningful exceptions (for example, NullPointerException, IllegalArgumentException, ClassCastException, UnsupportedOperationException), whenever possible.

      It will not remove any elements from any of the child models.

      Specified by:
      removeAllElements in interface ILcdModel
      Specified by:
      removeAllElements in interface ILcdModelTreeNode
      Parameters:
      aEventMode - the mode for sending out the model change event. This can be FIRE_LATER or NO_EVENT.
    • elementChanged

      public void elementChanged(Object aElement, int aEventMode)
      Description copied from interface: ILcdModelTreeNode
      Notifies this model that the specified element has changed.

      When an element in one the child models has changed, this method must be called on that child model and not on this node.

      Specified by:
      elementChanged in interface ILcdModel
      Specified by:
      elementChanged in interface ILcdModelTreeNode
      Parameters:
      aElement - the element that has changed.
      aEventMode - the mode for sending out the model change event. This can be FIRE_LATER or NO_EVENT.
    • elementsChanged

      public void elementsChanged(Vector aElements, int aEventMode)
      Description copied from interface: ILcdModelTreeNode
      Notifies this model that the elements in the specified vector have changed.

      When elements of one of the child models have changed, this method must be called on that child model and not on this node.

      Specified by:
      elementsChanged in interface ILcdModel
      Specified by:
      elementsChanged in interface ILcdModelTreeNode
      Parameters:
      aElements - the vector of elements that have changed.
      aEventMode - the mode for sending out the model change event. This can be FIRE_LATER or NO_EVENT.
    • fireCollectedModelChanges

      public void fireCollectedModelChanges()

      Fires all collected model change events, without an adjustment flag

      Calling this method is like calling fireCollectedModelChanges(false)

      Specified by:
      fireCollectedModelChanges in interface ILcdModel
      Specified by:
      fireCollectedModelChanges in interface ILcdModelTreeNode
      See Also:
    • addModelListener

      public void addModelListener(ILcdModelListener aModelListener)
      Description copied from interface: ILcdModelTreeNode

      Registers the specified model listener to receive notifications of model changes on this model.

      Model changes are sent out when an element has been added, removed or changed. Model changes can be sent out individually, grouped or silently applied without notifications, depending on the ILcdFireEventMode that was specified with the change.

      In case you need to register a listener which keeps a reference to an object with a shorter life-time than this model, you can use a ALcdWeakModelListener instance as model listener.

      The model listener will not receive any notifications of model changes in any of the child models. If the listener should also receive notifications about changes in the child models, it should be registered as a hierarchy listener (see ILcdModelTreeNode.addHierarchyModelListener(ILcdModelListener)).

      Specified by:
      addModelListener in interface ILcdModel
      Specified by:
      addModelListener in interface ILcdModelTreeNode
      Parameters:
      aModelListener - the ILcdModelListener to register on this model.
      See Also:
    • removeModelListener

      public void removeModelListener(ILcdModelListener aModelListener)
      Description copied from interface: ILcdModelTreeNode
      Unregisters the specified model listener so that it no longer receives notifications of model changes on this model.

      It is not possible to unregister hierarchy model listeners with this method. Use ILcdModelTreeNode.removeHierarchyModelListener(ILcdModelListener) for this purpose.

      Specified by:
      removeModelListener in interface ILcdModel
      Specified by:
      removeModelListener in interface ILcdModelTreeNode
      Parameters:
      aModelListener - the ILcdModelListener to remove.
      See Also:
    • dispose

      public void dispose()
      Description copied from interface: ILcdModelTreeNode
      Disposes of this model and allows it to release any system resources that it is holding. The result of calling any other method (other than finalize) on this model subsequent to a call to this method is undefined.

      Calling this method will not dispose any of the child models, or alter the hierarchical structure. If the child models should also be disposed, this method should be called on those models.

      Specified by:
      dispose in interface ILcdDisposable
      Specified by:
      dispose in interface ILcdModel
      Specified by:
      dispose in interface ILcdModelTreeNode
    • size

      public int size()
      Description copied from interface: ILcdIntegerIndexedModel
      Returns the number of elements in this model.
      Specified by:
      size in interface ILcdIntegerIndexedModel
      Returns:
      the number of elements in this model.
    • elementAt

      public Object elementAt(int aIndex)
      Description copied from interface: ILcdIntegerIndexedModel
      Returns the element at the specified index.
      Specified by:
      elementAt in interface ILcdIntegerIndexedModel
      Parameters:
      aIndex - an index into this ILcdModel.
      Returns:
      the element at the specified index.
    • indexOf

      public int indexOf(Object aObject)
      Description copied from interface: ILcdIntegerIndexedModel
      Returns the index of the first occurrence of the specified element in the model, or -1 if this model does not contain the element. More formally: returns the smallest i for which this.elementAt(i).equals(aElement).
      Specified by:
      indexOf in interface ILcdIntegerIndexedModel
      Parameters:
      aObject - the element to search for.
      Returns:
      the index of the first occurrence of the specified element in model vector, or -1 if this model does not contain the element.
    • applyOnInteract2DBounds

      public int applyOnInteract2DBounds(ILcdBounds aBounds, boolean aStrictOverlap, ILcdFunction aFunctionToApply, double aPrecisionX, double aPrecisionY)
      Description copied from interface: ILcd2DBoundsIndexedModel
      Applies the specified function to all the model elements of which the 2D bounds overlap with the specified bounds. By default, the order in which the function is applied on the elements is unspecified and depends on the implementation.

      The return value of the specified function is used as a stop criterion: the spatial query is interrupted if the function returns false.

      Specified by:
      applyOnInteract2DBounds in interface ILcd2DBoundsIndexedModel
      Parameters:
      aBounds - the rectangle to test overlap with.
      aStrictOverlap - if false, the spatial search may return more elements than the ones strictly overlapping; if true, the search only returns the elements that are overlapping. The latter mode is more precise, but it may be slower.
      aFunctionToApply - the function to apply on each element that overlaps with the given bounds. The return value of the specified function is used as a stop criterion: the spatial query is interrupted if the function returns false.
      aPrecisionX - the precision required in the x dimension, expressed in model units. For example, for a cartesian grid system expressed in meters, the values should be expressed in meters as well, for a geodetic coordinate system the accuracy values should be expressed in degrees.

      The precision is useful in combination with multi-leveled data (multiple representations of the same object, but with varying accuracy), so that the most appropriate accuracy level can be used. 0 means best possible accuracy, but it might trigger lazy-loaded implementations to load lots of data.

      aPrecisionY - the precision required in the y dimension, expressed in model units.
      Returns:
      the number of elements to which the ILcdFunction has been applied.
    • applyOnInteract2DBounds

      public int applyOnInteract2DBounds(ILcdBounds aBounds, boolean aStrictOverlap, ILcdFunction aFunctionToApply, double aPrecisionX, double aPrecisionY, double aMinSizeX, double aMinSizeY, boolean aIncludePoints)
      Description copied from interface: ILcd2DBoundsInteractable
      Applies the specified function to all the elements of which the 2D bounds overlap with the specified bounds. The order in which the function is applied on the elements is unspecified and depends on the implementation.

      Only elements that have at least the specified minimal size in the x dimension or in the y dimension are considered. This can be useful for quickly eliminating elements that are too small to be visible in a view, for instance. If required, an exception can be made for point elements, which have a size of 0 by 0. They can be forced to be considered, even though they would always be rejected as being too small for any sizes larger than 0.

      The return value of the specified function is used as a stop criterion: the spatial query will be interrupted as soon as the function returns false for an element it was applied on.

      Specified by:
      applyOnInteract2DBounds in interface ILcd2DBoundsIndexedModel
      Specified by:
      applyOnInteract2DBounds in interface ILcd2DBoundsInteractable
      Parameters:
      aBounds - the rectangle to test overlap with.
      aStrictOverlap - if false, the spatial search may return more elements than the ones strictly overlapping; if true, the search only returns the elements that are overlapping. The latter mode is more precise, but it may be slower.
      aFunctionToApply - the function to apply on each element that overlaps with the given bounds.
      aPrecisionX - the precision required in the x dimension, expressed in model units. For example, for a cartesian grid system expressed in meters, the values should be expressed in meters as well, for a geodetic coordinate system the accuracy values should be expressed in degrees.

      The precision is useful in combination with multi-leveled data (multiple representations of the same object, but with varying accuracy), so that the most appropriate accuracy level can be used. 0 means best possible accuracy, but it might trigger lazy-loaded implementations to load lots of data.

      aPrecisionY - the precision required in the y dimension, expressed in model units.
      aMinSizeX - the minimal element size in the x dimension (as in ILcdBounds.getWidth()), expressed in model units. Elements that are smaller than this size will be skipped. This may, for example, be useful when improving the efficiency of painting elements by skipping elements that are smaller than some threshold (e.g. one pixel, converted to model units).
      aMinSizeY - the minimal element size in the y dimension (as in ILcdBounds.getHeight()), expressed in model units.
      aIncludePoints - if true, zero-sized elements (points) are considered as well, even though they might be smaller than the minimum size.
      Returns:
      the number of elements to which the ILcdFunction has been applied.
    • getBounds

      public ILcdBounds getBounds()
      Description copied from interface: ILcdBounded
      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.
    • modelProduced

      public void modelProduced(TLcdModelProducerEvent aModelProducerEvent)
      Description copied from interface: ILcdModelProducerListener
      Notifies this ILcdModelProducerListener of a produced model.
      Specified by:
      modelProduced in interface ILcdModelProducerListener
      Parameters:
      aModelProducerEvent - the event describing the changes to a ILcdModelProducer.
    • modelCount

      public int modelCount()
      Description copied from interface: ILcdModelTreeNode

      Returns the number of child models of this model node.

      Specified by:
      modelCount in interface ILcdModelContainer
      Specified by:
      modelCount in interface ILcdModelTreeNode
      Returns:
      the number of child models of this model node.
    • addModel

      public boolean addModel(ILcdModel aModel)
      Description copied from interface: ILcdModelTreeNode

      Adds the ILcdModel aModel as a child model to this ILcdModelTreeNode.

      Specified by:
      addModel in interface ILcdModelContainer
      Specified by:
      addModel in interface ILcdModelTreeNode
      Parameters:
      aModel - the model to be added.
      Returns:
      true if this collection of models changed as a result of the call
    • removeModel

      public boolean removeModel(ILcdModel aModel)
      Description copied from interface: ILcdModelTreeNode

      Removes the child model aModel from this ILcdModelTreeNode.

      Specified by:
      removeModel in interface ILcdModelContainer
      Specified by:
      removeModel in interface ILcdModelTreeNode
      Parameters:
      aModel - the model to be removed.
      Returns:
      true if a model was removed as a result of this call
    • getModel

      public ILcdModel getModel(int aIndex)
      Description copied from interface: ILcdModelTreeNode

      Returns the child model at the given index.

      Specified by:
      getModel in interface ILcdModelContainer
      Specified by:
      getModel in interface ILcdModelTreeNode
      Parameters:
      aIndex - a valid index in this ILcdModelTreeNode
      Returns:
      the child model at the given index.
    • models

      public Enumeration models()
      Description copied from interface: ILcdModelTreeNode

      Returns an Enumeration of the child models of this ILcdModelTreeNode.

      Specified by:
      models in interface ILcdModelContainer
      Specified by:
      models in interface ILcdModelTreeNode
      Returns:
      an Enumeration of the child models of this ILcdModelTreeNode.
    • addModelContainerListener

      public void addModelContainerListener(ILcdModelContainerListener aModelContainerListener)
      Description copied from interface: ILcdModelTreeNode
      Adds an ILcdModelContainerListener to this ILcdModelContainer.

      It will only receive notifications of changes in this ILcdModelTreeNode and not of any changes in the state of the child model node(s). If this is required, the listener must be registered as a hierarchy listener (see ILcdModelTreeNode.addHierarchyModelContainerListener(ILcdModelContainerListener)).

      .
      Specified by:
      addModelContainerListener in interface ILcdModelContainer
      Specified by:
      addModelContainerListener in interface ILcdModelTreeNode
      Parameters:
      aModelContainerListener - the listener to be added.
      See Also:
    • removeModelContainerListener

      public void removeModelContainerListener(ILcdModelContainerListener aModelContainerListener)
      Description copied from interface: ILcdModelTreeNode
      Removes an ILcdModelContainerListener from this ILcdModelContainer.

      It is not possible to remove a hierarchy model container listener. Use ILcdModelTreeNode.removeHierarchyModelContainerListener(ILcdModelContainerListener) for this purpose.

      Specified by:
      removeModelContainerListener in interface ILcdModelContainer
      Specified by:
      removeModelContainerListener in interface ILcdModelTreeNode
      Parameters:
      aModelContainerListener - the listener to be removed.
      See Also:
    • isEmpty

      public boolean isEmpty()
      Description copied from interface: ILcdModelTreeNode

      Returns true when the model node is only used as a container for other models, and contains no useful data itself, false otherwise.

      Specified by:
      isEmpty in interface ILcdModelTreeNode
      Returns:
      true when the model node contains no useful data, false otherwise
    • addHierarchyModelContainerListener

      public void addHierarchyModelContainerListener(ILcdModelContainerListener aModelContainerListener)
      Description copied from interface: ILcdModelTreeNode

      Registers the given ILcdModelContainerListener to receive TLcdModelContainerEvents from all the ILcdModelTreeNodes contained in the tree with this node as root node. If the listener should only receive events originating from this model node, it should be adedd as a regular model listener (see ILcdModelTreeNode.addModelContainerListener(ILcdModelContainerListener)).

      The source ILcdModelContainer of the event can be retrieved by calling TLcdModelContainerEvent.getModelContainer() on the received TLcdModelContainerEvent.

      Specified by:
      addHierarchyModelContainerListener in interface ILcdModelTreeNode
      Parameters:
      aModelContainerListener - the listener
      See Also:
    • removeHierarchyModelContainerListener

      public void removeHierarchyModelContainerListener(ILcdModelContainerListener aModelContainerListener)
      Description copied from interface: ILcdModelTreeNode

      Unregisters the given ILcdModelContainerListener from receiving TLcdModelContainerEvents for the tree with this node as root node.

      Specified by:
      removeHierarchyModelContainerListener in interface ILcdModelTreeNode
      Parameters:
      aModelContainerListener - the listener
      See Also:
    • addHierarchyModelListener

      public void addHierarchyModelListener(ILcdModelListener aModelListener)
      Description copied from interface: ILcdModelTreeNode

      Registers the given ILcdModelListener to receive TLcdModelChangedEvents from all the ILcdModels contained in the tree with this node as root node. If the listener should only receive events originating from this model node, it should be added as a regular model listener (see ILcdModelTreeNode.addModelListener(ILcdModelListener)).

      The source ILcdModel of the event can be retrieved by calling TLcdModelChangedEvent.getModel() on the received TLcdModelChangedEvent.

      Specified by:
      addHierarchyModelListener in interface ILcdModelTreeNode
      Parameters:
      aModelListener - the listener
      See Also:
    • removeHierarchyModelListener

      public void removeHierarchyModelListener(ILcdModelListener aModelListener)
      Description copied from interface: ILcdModelTreeNode

      Unregisters the given ILcdModelListener from receiving TLcdModelChangedEvents for the tree with this node as root node.

      Specified by:
      removeHierarchyModelListener in interface ILcdModelTreeNode
      Parameters:
      aModelListener - the listener
      See Also:
    • insertIntoCache

      public void insertIntoCache(Object aKey, Object aObject)
      Description copied from interface: ILcdCache
      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)
      Description copied from interface: ILcdCache
      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)
      Description copied from interface: ILcdCache
      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()
      Description copied from interface: ILcdCache
      Clears the cache.
      Specified by:
      clearCache in interface ILcdCache
    • readLock

      public Lock readLock()
      Specified by:
      readLock in interface ReadWriteLock
    • writeLock

      public Lock writeLock()
      Specified by:
      writeLock in interface ReadWriteLock
    • toString

      public String toString()

      Returns a string representation of this object

      Overrides:
      toString in class TLcdDataObject
      Returns:
      Either the source name retrieved from the ILcdModelDescriptor, or super.toString() if no model descriptor was set.
    • clone

      public TLcdDataObject 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
    • getHint

      public String getHint()
      Returns the value of the property that maps to the hint attribute.
      Returns:
      the value of the HINT_PROPERTY property.
    • setHint

      public void setHint(String aValue)
      Sets the value of the property that maps to the hint attribute.
      Parameters:
      aValue - the value to set for the HINT_PROPERTY property.
    • getNetworkLinkControl

      public TLcdKML22NetworkLinkControl getNetworkLinkControl()
      Returns the value of the property that maps to the NetworkLinkControl element.
      Returns:
      the value of the NETWORK_LINK_CONTROL_PROPERTY property.
    • setNetworkLinkControl

      public void setNetworkLinkControl(TLcdKML22NetworkLinkControl aValue)
      Sets the value of the property that maps to the NetworkLinkControl element.
      Parameters:
      aValue - the value to set for the NETWORK_LINK_CONTROL_PROPERTY property.
    • getAbstractFeatureGroup

      public TLcdKML22AbstractFeature getAbstractFeatureGroup()
      Returns the value of the property that maps to the AbstractFeatureGroup element.
      Returns:
      the value of the ABSTRACT_FEATURE_GROUP_PROPERTY property.
    • setAbstractFeatureGroup

      public void setAbstractFeatureGroup(TLcdKML22AbstractFeature aValue)
      Sets the value of the property that maps to the AbstractFeatureGroup element.
      Parameters:
      aValue - the value to set for the ABSTRACT_FEATURE_GROUP_PROPERTY property.