Package org.geotools.styling
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)
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface FeatureTypeStyle
FeatureTypeStyle.RenderingSelectionOptions
-
-
Field Summary
Fields Modifier and Type Field Description static String
KEY_EVALUATION_MODE
This option influences how multiple rules matching the same feature are evaluatedprotected Map<String,String>
options
static String
VALUE_EVALUATION_MODE_ALL
The standard behavior, all the matching rules are executedstatic String
VALUE_EVALUATION_MODE_FIRST
Only the first matching rule gets executed, all the others are skipped-
Fields inherited from interface FeatureTypeStyle
COMPOSITE, COMPOSITE_BASE, SORT_BY, SORT_BY_GROUP, VENDOR_OPTION_INCLUSION
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
FeatureTypeStyleImpl()
Creates a new instance of FeatureTypeStyleImplprotected
FeatureTypeStyleImpl(List<Rule> arules)
FeatureTypeStyleImpl(FeatureTypeStyle fts)
protected
FeatureTypeStyleImpl(Rule... rules)
Creates a new instance of FeatureTypeStyleImpl
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
accept(StyleVisitor visitor)
Object
accept(TraversingStyleVisitor visitor, Object data)
calls the visit method of a StyleVisitorObject
clone()
Creates a deep copy clone of the FeatureTypeStyle.boolean
equals(Object oth)
Compares this FeatureTypeStyleImpl with another.Set<Name>
featureTypeNames()
Returns the names of the feature type that this style is meant to act upon.Description
getDescription()
Description for this style.Id
getFeatureInstanceIDs()
Returns a collection of Object identifying features object.String
getName()
Returns a name for this style.OnLineResource
getOnlineResource()
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.Map<String,String>
getOptions()
Map of vendor options for the symbolizer.Expression
getTransformation()
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)int
hashCode()
Overrides hashCode.boolean
hasOption(String key)
Determines if a vendor option with the specific key has been set on this symbolizer.List<Rule>
rules()
Rules govern the appearance of any given feature to be styled by this styler.Set<SemanticType>
semanticTypeIdentifiers()
Returns a collection that identifies the more general "type" of geometry that this style is meant to act upon.void
setName(String name)
void
setOnlineResource(OnLineResource online)
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.void
setTransformation(Expression transformation)
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)String
toString()
-
-
-
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
-
-
Constructor Detail
-
FeatureTypeStyleImpl
protected FeatureTypeStyleImpl(Rule... rules)
Creates a new instance of FeatureTypeStyleImpl
-
FeatureTypeStyleImpl
protected FeatureTypeStyleImpl()
Creates a new instance of FeatureTypeStyleImpl
-
FeatureTypeStyleImpl
public FeatureTypeStyleImpl(FeatureTypeStyle fts)
-
-
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 interfaceFeatureTypeStyle
-
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 interfaceFeatureTypeStyle
-
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 interfaceFeatureTypeStyle
- 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 interfaceFeatureTypeStyle
- Returns:
- Collection
-
getDescription
public Description getDescription()
Description copied from interface:FeatureTypeStyle
Description for this style.- Specified by:
getDescription
in interfaceFeatureTypeStyle
- 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 interfaceFeatureTypeStyle
- Returns:
- a name for this style.
-
setName
public void setName(String name)
- Specified by:
setName
in interfaceFeatureTypeStyle
-
accept
public Object accept(TraversingStyleVisitor visitor, Object data)
Description copied from interface:FeatureTypeStyle
calls the visit method of a StyleVisitor- Specified by:
accept
in interfaceFeatureTypeStyle
- Parameters:
visitor
- the style visitor
-
accept
public void accept(StyleVisitor visitor)
- Specified by:
accept
in interfaceFeatureTypeStyle
-
clone
public Object clone()
Creates a deep copy clone of the FeatureTypeStyle.- Specified by:
clone
in interfaceCloneable
- Overrides:
clone
in classObject
- Returns:
- A copy of this object.
- See Also:
Object.clone()
-
hashCode
public int hashCode()
Overrides 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.
-
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 interfaceFeatureTypeStyle
- 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 interfaceFeatureTypeStyle
- 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 interfaceFeatureTypeStyle
-
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 interfaceFeatureTypeStyle
-
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 interfaceFeatureTypeStyle
-
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 interfaceFeatureTypeStyle
-
-