Class FeatureTypeStyleImpl

  • All Implemented Interfaces:
    Cloneable, FeatureTypeStyle, Cloneable

    public class FeatureTypeStyleImpl
    extends Object
    implements FeatureTypeStyle, Cloneable
    Implementation of Feature Type Style; care is taken to ensure everything is mutable.
    Author:
    James Macgill, Johann Sorel (Geomatys)
    • Field Detail

      • KEY_EVALUATION_MODE

        public static String KEY_EVALUATION_MODE
        This option influences how multiple rules matching the same feature are evaluated
      • VALUE_EVALUATION_MODE_ALL

        public static String VALUE_EVALUATION_MODE_ALL
        The standard behavior, all the matching rules are executed
      • VALUE_EVALUATION_MODE_FIRST

        public static String VALUE_EVALUATION_MODE_FIRST
        Only the first matching rule gets executed, all the others are skipped
      • options

        protected Map<String,​String> options
    • Constructor Detail

      • FeatureTypeStyleImpl

        protected FeatureTypeStyleImpl​(Rule... rules)
        Creates a new instance of FeatureTypeStyleImpl
      • FeatureTypeStyleImpl

        protected FeatureTypeStyleImpl​(List<Rule> arules)
      • FeatureTypeStyleImpl

        protected FeatureTypeStyleImpl()
        Creates a new instance of FeatureTypeStyleImpl
    • Method Detail

      • rules

        public List<Rule> rules()
        Description copied from interface: FeatureTypeStyle
        Rules govern the appearance of any given feature to be styled by this styler.

        This is *the* list being used to manage the rules!

        Specified by:
        rules in interface FeatureTypeStyle
      • semanticTypeIdentifiers

        public Set<SemanticType> semanticTypeIdentifiers()
        Description copied from interface: FeatureTypeStyle
        Returns a collection that identifies the more general "type" of geometry that this style is meant to act upon. In the current OGC SE specifications, this is an experimental element and can take only one of the following values:

        • generic:point
        • generic:line
        • generic:polygon
        • generic:text
        • generic:raster
        • generic:any

        Specified by:
        semanticTypeIdentifiers in interface FeatureTypeStyle
      • featureTypeNames

        public Set<Name> featureTypeNames()
        Description copied from interface: FeatureTypeStyle
        Returns the names of the feature type that this style is meant to act upon.

        In OGC Symbology Encoding define this method to return a single String, and ISO 19117 use a Collection of String. We've choosen ISO because it is more logic that a featureTypeStyle can be applied to multiple featuretypes and not limited to a single one.

        Specified by:
        featureTypeNames in interface FeatureTypeStyle
        Returns:
        the name of the feature type that this style is meant to act upon.
      • getFeatureInstanceIDs

        public Id getFeatureInstanceIDs()
        Description copied from interface: FeatureTypeStyle
        Returns a collection of Object identifying features object.

        ISO 19117 extends FeatureTypeStyle be providing this method. This method enable the possibility to use a feature type style on a given list of features only, which is not possible in OGC SE.

        Specified by:
        getFeatureInstanceIDs in interface FeatureTypeStyle
        Returns:
        Collection
      • getName

        public String getName()
        Description copied from interface: FeatureTypeStyle
        Returns a name for this style. This can be any string that uniquely identifies this style within a given canvas. It is not meant to be human-friendly. (The "title" property is meant to be human friendly.)
        Specified by:
        getName in interface FeatureTypeStyle
        Returns:
        a name for this style.
      • clone

        public Object clone()
        Creates a deep copy clone of the FeatureTypeStyle.
        Specified by:
        clone in interface Cloneable
        Overrides:
        clone in class Object
        Returns:
        A copy of this object.
        See Also:
        Object.clone()
      • hashCode

        public int hashCode()
        Overrides hashCode.
        Overrides:
        hashCode in class Object
        Returns:
        The hashcode.
      • equals

        public boolean equals​(Object oth)
        Compares this FeatureTypeStyleImpl with another.

        Two FeatureTypeStyles are equal if they contain equal properties and an equal list of Rules.

        Overrides:
        equals in class Object
        Parameters:
        oth - The other FeatureTypeStyleImpl to compare with.
        Returns:
        True if this and oth are equal.
      • toString

        public String toString()
        Overrides:
        toString in class Object
      • setOnlineResource

        public void setOnlineResource​(OnLineResource online)
        Description copied from interface: FeatureTypeStyle
        It is common to have a style coming from a external xml file, this method provide a way to get the original source if there is one.
        Specified by:
        setOnlineResource in interface FeatureTypeStyle
        Parameters:
        online - location external file defining this style, or null if not available
      • getOnlineResource

        public OnLineResource getOnlineResource()
        Description copied from interface: FeatureTypeStyle
        It is common to have a style coming from a external xml file, this method provide a way to get the original source if there is one. OGC SLD specification can use this method to know if a style must be written completely or if writing the online resource path is enough.
        Specified by:
        getOnlineResource in interface FeatureTypeStyle
        Returns:
        OnlineResource or null
      • getTransformation

        public Expression getTransformation()
        Description copied from interface: FeatureTypeStyle
        The eventual transformation to be applied before rendering the data (should be an expression taking a feature collection or a grid coverage as the evaluation context and returns a feature collection or a grid coverage as an output)
        Specified by:
        getTransformation in interface FeatureTypeStyle
      • setTransformation

        public void setTransformation​(Expression transformation)
        Description copied from interface: FeatureTypeStyle
        Sets the eventual transformation to be applied before rendering the data (should be an expression taking a feature collection or a grid coverage as an input and returns a feature collection or a grid coverage as an output)
        Specified by:
        setTransformation in interface FeatureTypeStyle
      • hasOption

        public boolean hasOption​(String key)
        Description copied from interface: FeatureTypeStyle
        Determines if a vendor option with the specific key has been set on this symbolizer.
        Specified by:
        hasOption in interface FeatureTypeStyle