Class AbstractFeature

  • All Implemented Interfaces:
    java.lang.Cloneable, GeoObject
    Direct Known Subclasses:
    GeometryFeature

    public abstract class AbstractFeature
    extends java.lang.Object
    implements GeoObject
    Defines an abstract class that represents a geospatial feature. A feature is defined by a spatial attribute and a set of non-complex (and non-spatial) attributes. Each spatial type, must extend this abstract class. Examples of features include geometry feature, annotation text feature, and topology feature.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.util.HashMap<java.lang.String,​oracle.mapviewer.share.Field> attributes
      Stores information about the non-complex attributes.
      protected Layer layer  
      protected java.lang.Object spatialAttr  
    • Constructor Summary

      Constructors 
      Constructor Description
      AbstractFeature()  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      AbstractFeature clone()
      A shallow clone
      AbstractFeature deepClone()
      A deep clone (except the layer reference)
      boolean equals​(java.lang.Object obj)  
      oracle.mapviewer.share.Field getAttribute​(java.lang.String attrName)  
      java.util.Set<java.lang.String> getAttributeNames()
      return the set of attribute names.
      oracle.mapviewer.share.Field[] getAttributes()  
      oracle.mapviewer.share.Field[] getAttributes​(java.lang.String[] names)
      Returns the field values for attribute names.
      java.lang.Object getKey()
      Gets the key of the selected object.
      Layer getLayer()
      Gets the associated layer for this object.
      abstract java.awt.geom.Rectangle2D getMBR()
      Returns the minimum bounding rectangle of the spatial attribute.
      java.lang.Object getSpatialAttribute()
      Returns the spatial attribute object.
      abstract java.lang.Object getSpatialAttributeClone()
      Returns a clone of the spatial attribute
      abstract int getSpatialDimension()
      Returns the feature spatial dimension.
      abstract java.awt.geom.Point2D[] getSpatialJavaPoints()
      Returns an array of java points representing the vertexes location of the spatial object.
      boolean removeAttribute​(java.lang.String attrName)  
      boolean setAttribute​(java.lang.String attrName, oracle.mapviewer.share.Field value)  
      void setAttributes​(oracle.mapviewer.share.Field[] fields)
      Sets the field attributes.
      java.lang.Object setKey​(java.lang.Object key)
      Sets a new key on the object.
      void setLayer​(Layer layer)
      Sets the layer to be associated with this object.
      void setSpatialAttribute​(java.lang.Object spatialAttr)
      Sets the spatial attribute object
      • Methods inherited from class java.lang.Object

        finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • attributes

        protected java.util.HashMap<java.lang.String,​oracle.mapviewer.share.Field> attributes
        Stores information about the non-complex attributes.
      • layer

        protected Layer layer
      • spatialAttr

        protected java.lang.Object spatialAttr
    • Constructor Detail

      • AbstractFeature

        public AbstractFeature()
    • Method Detail

      • clone

        public AbstractFeature clone()
        A shallow clone
        Overrides:
        clone in class java.lang.Object
        Returns:
      • deepClone

        public AbstractFeature deepClone()
        A deep clone (except the layer reference)
      • equals

        public boolean equals​(java.lang.Object obj)
        Specified by:
        equals in interface GeoObject
        Overrides:
        equals in class java.lang.Object
      • getAttribute

        public oracle.mapviewer.share.Field getAttribute​(java.lang.String attrName)
        Parameters:
        attrName -
        Returns:
      • getAttributeNames

        public java.util.Set<java.lang.String> getAttributeNames()
        return the set of attribute names.
      • setAttribute

        public boolean setAttribute​(java.lang.String attrName,
                                    oracle.mapviewer.share.Field value)
        Parameters:
        attrName -
        value -
        Returns:
      • removeAttribute

        public boolean removeAttribute​(java.lang.String attrName)
        Parameters:
        attrName -
        Returns:
      • getKey

        public java.lang.Object getKey()
        Description copied from interface: GeoObject
        Gets the key of the selected object.
        Specified by:
        getKey in interface GeoObject
        Returns:
        the key
      • setKey

        public java.lang.Object setKey​(java.lang.Object key)
        Description copied from interface: GeoObject
        Sets a new key on the object.
        Specified by:
        setKey in interface GeoObject
        Parameters:
        key - the new key to be set.
        Returns:
        previously set key
      • getAttributes

        public oracle.mapviewer.share.Field[] getAttributes()
        Returns:
      • getAttributes

        public oracle.mapviewer.share.Field[] getAttributes​(java.lang.String[] names)
        Returns the field values for attribute names.
        Parameters:
        names - attributes
        Returns:
      • setAttributes

        public void setAttributes​(oracle.mapviewer.share.Field[] fields)
        Sets the field attributes. The current attribute list is not erased, and new field names are added to the attribute list, while existing names are updated.
        Parameters:
        fields -
      • getLayer

        public Layer getLayer()
        Description copied from interface: GeoObject
        Gets the associated layer for this object.
        Specified by:
        getLayer in interface GeoObject
        Returns:
        typically an Layer instance that owns this object.
      • setLayer

        public void setLayer​(Layer layer)
        Description copied from interface: GeoObject
        Sets the layer to be associated with this object.
        Specified by:
        setLayer in interface GeoObject
        Parameters:
        layer - the Layer instance to be associated.
      • getSpatialAttribute

        public java.lang.Object getSpatialAttribute()
        Returns the spatial attribute object.
        Returns:
      • setSpatialAttribute

        public void setSpatialAttribute​(java.lang.Object spatialAttr)
        Sets the spatial attribute object
        Parameters:
        spatialAttr -
      • getSpatialAttributeClone

        public abstract java.lang.Object getSpatialAttributeClone()
        Returns a clone of the spatial attribute
        Returns:
      • getMBR

        public abstract java.awt.geom.Rectangle2D getMBR()
        Returns the minimum bounding rectangle of the spatial attribute.
        Specified by:
        getMBR in interface GeoObject
        Returns:
      • getSpatialDimension

        public abstract int getSpatialDimension()
        Returns the feature spatial dimension.
        Returns:
      • getSpatialJavaPoints

        public abstract java.awt.geom.Point2D[] getSpatialJavaPoints()
        Returns an array of java points representing the vertexes location of the spatial object.
        Returns: