Class FeatureTypeStyleImpl

Object
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 Details

    • 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 Details

    • 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
    • FeatureTypeStyleImpl

      public FeatureTypeStyleImpl(FeatureTypeStyle fts)
  • Method Details

    • 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
    • getDescription

      public Description getDescription()
      Description copied from interface: FeatureTypeStyle
      Description for this style.
      Specified by:
      getDescription in interface FeatureTypeStyle
      Returns:
      Human readable description for use in user interfaces
    • 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.
    • setName

      public void setName(String name)
      Specified by:
      setName in interface FeatureTypeStyle
    • accept

      public Object accept(TraversingStyleVisitor visitor, Object data)
      Description copied from interface: FeatureTypeStyle
      calls the visit method of a StyleVisitor
      Specified by:
      accept in interface FeatureTypeStyle
      Parameters:
      visitor - the style visitor
    • accept

      public void accept(StyleVisitor visitor)
      Specified by:
      accept in interface FeatureTypeStyle
    • 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:
    • 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
    • getOptions

      public Map<String,String> getOptions()
      Description copied from interface: FeatureTypeStyle
      Map of vendor options for the symbolizer.

      Client code looking for the existence of a single option should use FeatureTypeStyle.hasOption(String)

      Specified by:
      getOptions in interface FeatureTypeStyle