Class TLcdWFSProxyModelDescriptor

java.lang.Object
com.luciad.model.TLcdModelDescriptor
com.luciad.ogc.wfs.client.TLcdWFSProxyModelDescriptor
All Implemented Interfaces:
ILcdAnnotatedElement, ILcdDataModelDescriptor, ILcdModelDescriptor, ILcdFeaturedDescriptorProvider, Serializable

public class TLcdWFSProxyModelDescriptor extends TLcdModelDescriptor implements ILcdFeaturedDescriptorProvider, ILcdDataModelDescriptor, ILcdAnnotatedElement
A model descriptor for WFS proxy models.
Since:
6.2
See Also:
  • Field Details

  • Constructor Details

    • TLcdWFSProxyModelDescriptor

      public TLcdWFSProxyModelDescriptor(String aSourceName, String aDisplayName, TLcdWFSCapabilities aCapabilities, QName aFeatureTypeName)
      Creates a new TLcdWFSProxyModelDescriptor with the given parameters. The type name is set to TYPE.
      Parameters:
      aSourceName - the source name of the model
      aDisplayName - the display name of the model
      aCapabilities - the WFS capabilities
      aFeatureTypeName - the feature type name associated with the WFS proxy model
    • TLcdWFSProxyModelDescriptor

      public TLcdWFSProxyModelDescriptor(String aSourceName, String aDisplayName, TLcdWFSCapabilities aCapabilities, QName aFeatureTypeName, ILcdDataModelDescriptor aDataModelDescriptor)
      Creates a new TLcdWFSProxyModelDescriptor with the given parameters. The type name is set to TYPE.
      Parameters:
      aSourceName - the source name of the model
      aDisplayName - the display name of the model
      aCapabilities - the WFS capabilities
      aFeatureTypeName - the feature type name associated with the WFS proxy model
      aDataModelDescriptor - the data model descriptor which describes the data in the WFS proxy model.
  • Method Details

    • getCapabilities

      public TLcdWFSCapabilities getCapabilities()
      Returns the capabilities document based on which the WFS proxy model was created.
      Returns:
      a TLcdWFSCapabilities
    • getFeatureTypeName

      public QName getFeatureTypeName()
      Returns the feature type name associated with the WFS proxy model.
      Returns:
      the feature type name associated with the WFS proxy model.
    • getFeaturedDescriptor

      public ILcdFeaturedDescriptor getFeaturedDescriptor(ILcdFeatured aObject)
      Returns an ILcdFeaturedDescriptor for an element of the WFS proxy model. Note that with the default output format (GML), the elements of the WFS proxy model are themselves ILcdFeaturedDescriptorProviders. If a custom ILcdWFSModelDecoder is used, this assertion does not necessarily hold anymore. In that case, an IllegalArgumentException is thrown.
      Specified by:
      getFeaturedDescriptor in interface ILcdFeaturedDescriptorProvider
      Parameters:
      aObject - an element of a TLcdWFSProxyModel
      Returns:
      an ILcdFeaturedDescriptor
      Throws:
      IllegalArgumentException - if aObject is not an ILcdFeaturedDescriptorProvider
      See Also:
    • getDataModel

      public TLcdDataModel getDataModel()
      Description copied from interface: ILcdDataModelDescriptor

      Returns the data model that describes the elements of the model. Note that not necessarily all data in the model will be of a type of this data model. Very likely, types from the dependencies of the returned data model are used as well.

      In case the model accepts objects from multiple data models, an anonymous data model that depends on all these data models should be returned (see TLcdDataModelBuilder.createAnonymousDataModel(java.util.Collection)).

      Specified by:
      getDataModel in interface ILcdDataModelDescriptor
      Returns:
      the data model that describes the elements of the model
    • getModelElementTypes

      public Set<TLcdDataType> getModelElementTypes()
      Description copied from interface: ILcdDataModelDescriptor

      Returns a set containing all the data types of which instances can be elements in the model associated with this descriptor. Implementations are free to limit the result to only include the types of which there are actually elements in the model; but they are not required to do so.

      Implementations should return null in case they don't know which element types are present in the model.

      For each element of the model associated with this model descriptor, the following holds true : getModelElementTypes().contains( element.getDataType() ).

      Specified by:
      getModelElementTypes in interface ILcdDataModelDescriptor
      Returns:
      a set containing all the data types of which instances can be elements in the model associated with this descriptor
    • getModelTypes

      public Set<TLcdDataType> getModelTypes()
      Description copied from interface: ILcdDataModelDescriptor

      Returns a set containing all the types of which instances can be used (including both top-level elements and child objects) in the model associated with this descriptor. Implementations are free to limit the result to only include the types of which there are actually instances in the model; but they are not required to do so.

      A simple and correct implementation would be to return getDataModel().getTypes(). Implementations are encouraged to return a subset of this set if they can do so without spending an unreasonable amount of resources.

      Implementations should return null in case they don't know which types are present in the model.

      Specified by:
      getModelTypes in interface ILcdDataModelDescriptor
      Returns:
      a set containing all the data types of which instances can be used in the model associated with this descriptor
    • addAnnotation

      public <T extends ILcdAnnotation> T addAnnotation(ILcdAnnotation aAnnotation)
      Description copied from interface: ILcdAnnotatedElement
      Adds the given annotation to this element.
      Specified by:
      addAnnotation in interface ILcdAnnotatedElement
      Parameters:
      aAnnotation - the annotation to add
      Returns:
      the previous annotation of the same class as the given annotation associated with this element, or null if there was no annotation for that class.
    • getAnnotation

      public <T extends ILcdAnnotation> T getAnnotation(Class<T> aAnnotationClass)
      Description copied from interface: ILcdAnnotatedElement

      Returns the element's annotation for the specified class if such an annotation is present, else null.

      Note that the exact annotation class needs to be passed as parameter. In other words, in case the element is only annotated with instances of subclasses of the given annotation class, null is returned.

      Specified by:
      getAnnotation in interface ILcdAnnotatedElement
      Parameters:
      aAnnotationClass - - the Class object corresponding to the annotation type
      Returns:
      this element's annotation for the specified annotation class if present on this element, else null
    • getAnnotations

      public Collection<ILcdAnnotation> getAnnotations()
      Description copied from interface: ILcdAnnotatedElement
      Returns all annotations present on this element as an unmodifiable collection.
      Specified by:
      getAnnotations in interface ILcdAnnotatedElement
      Returns:
      all annotations present on this element
    • isAnnotationPresent

      public boolean isAnnotationPresent(Class<? extends ILcdAnnotation> aAnnotationClass)
      Description copied from interface: ILcdAnnotatedElement

      Returns true if an annotation for the specified class is present on this element, else false. This method is designed primarily for convenient access to marker annotations.

      Note that the exact annotation class needs to be passed as parameter. In other words, in case the element is only annotated with instances of subclasses of the given annotation class, false is returned.

      Specified by:
      isAnnotationPresent in interface ILcdAnnotatedElement
      Parameters:
      aAnnotationClass - the Class object corresponding to the annotation class
      Returns:
      true if an annotation for the specified annotation class is present on this element, else false
    • removeAnnotation

      public <T extends ILcdAnnotation> T removeAnnotation(Class<T> aAnnotationClass)
      Description copied from interface: ILcdAnnotatedElement

      Removes the annotation of the given class from this element.

      Note that the exact annotation class needs to be passed as parameter. In other words, in case the element is only annotated with instances of subclasses of the given annotation class, nothing is removed and null is returned.

      Specified by:
      removeAnnotation in interface ILcdAnnotatedElement
      Parameters:
      aAnnotationClass - the class of annotation to remove
      Returns:
      the annotation of the given class that was associated with this element, or null if there was no annotation for that class.