Package org.opengis.style
Interface Rule
-
- All Known Subinterfaces:
Rule
- All Known Implementing Classes:
RuleImpl
@XmlElement("Rule") @UML(identifier="PF_PortrayalRule", specification=ISO_19117) public interface Rule
A rule consists of two important parts: a filter and a list of symbols. When it is time to draw a given feature, the rendering engine examines each rule in the FeatureStyle, first checking its Filter (or ElseFilter). If the Filter passes, then every Symbolizer for that rule is applied to the given feature.- Since:
- GeoAPI 2.2
- Author:
- Open Geospatial Consortium, Johann Sorel (Geomatys), Chris Dillard (SYS Technologies)
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Object
accept(StyleVisitor visitor, Object extraData)
calls the visit method of a StyleVisitorDescription
getDescription()
Returns the description of this rule.Filter
getFilter()
Returns the filter that will limit the features for which thisRule
will fire.GraphicLegend
getLegend()
Returns a small Graphic that could be used by the rendering engine to draw a legend window.double
getMaxScaleDenominator()
Returns the maximum value (exclusive) in the denominator of the current map scale at which thisRule
will fire.double
getMinScaleDenominator()
Returns the minimum value (inclusive) in the denominator of the current map scale at which thisRule
will fire.String
getName()
Returns a name for this rule.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.boolean
isElseFilter()
Returns true if thisRule
is to fire only if no other rules in the containing style have fired yet.List<? extends Symbolizer>
symbolizers()
This method returns the list of Symbolizer objects contained by thisRule
.
-
-
-
Method Detail
-
getName
@XmlElement("Name") @UML(identifier="ruleName", obligation=MANDATORY, specification=ISO_19117) String getName()
Returns a name for this rule. This can be any string that uniquely identifies this rule within a given canvas. It is not meant to be human-friendly. (The "title" property is meant to be human friendly.)- Returns:
- a name for this rule.
-
getDescription
@XmlElement("Description") @UML(identifier="description", obligation=OPTIONAL, specification=ISO_19117) Description getDescription()
Returns the description of this rule.- Returns:
- Description with usual informations used for user interfaces.
-
getLegend
@XmlElement("LegendGraphic") GraphicLegend getLegend()
Returns a small Graphic that could be used by the rendering engine to draw a legend window.A nice user interface may want to present the user with a legend that indicates how features of a given type are being portrayed. Through its
LegendGraphic
property, aRule
may provide a custom picture to be used in such a legend window.
-
getFilter
@XmlElement("Filter") @UML(identifier="queryStatement", obligation=MANDATORY, specification=ISO_19117) Filter getFilter()
Returns the filter that will limit the features for which thisRule
will fire. This can only be non-null ifisElseFilter()
returns false. If this value is null andisElseFilter
is false, this means that thisRule
should fire for all features.- Returns:
- Filter, use Filter.INCLUDES to indicate everything; or Filter.EXCLUDES for an "else" rule
-
isElseFilter
@XmlElement("ElseFilter") boolean isElseFilter()
Returns true if thisRule
is to fire only if no other rules in the containing style have fired yet. If this is true, then the filter must be Filter.EXCLUDES.- Returns:
- true if the filter is an else filter
-
getMinScaleDenominator
@XmlElement("MinScaleDenominator") double getMinScaleDenominator()
Returns the minimum value (inclusive) in the denominator of the current map scale at which thisRule
will fire. If, for example, theMinScaleDenominator
were 10000, then this rule would only fire at scales of 1:X where X is greater than 10000. A value of zero indicates that there is no minimum.- Returns:
- Min scale double value
-
getMaxScaleDenominator
@XmlElement("MaxScaleDenominator") double getMaxScaleDenominator()
Returns the maximum value (exclusive) in the denominator of the current map scale at which thisRule
will fire. If, for example, theMaxScaleDenominator
were 98765, then this rule would only fire at scales of 1:X where X is less than 98765. A value ofDouble.POSITIVE_INFINITY
indicates that there is no maximum.- Returns:
- Max scale double value
-
symbolizers
@XmlElement("Symbolizer") @UML(identifier="portrayAction", obligation=MANDATORY, specification=ISO_19117) List<? extends Symbolizer> symbolizers()
This method returns the list of Symbolizer objects contained by thisRule
.We use a list of extends Symbolizer> to enable the possibility for an implementation to return a special type of Symbolizer. This doesnt mean a Rule must return a list of PointSymbolizer or TextSymbolizer only, no. The purpose of this if to offer the solution to return different implementations like MutableSymbolizer or RichSymbolizer and then avoid redundant cast in the code. If you dont intend to use a special interface you can override this method by : List
symbolizers(); - Returns:
- the list of Symbolizer
-
getOnlineResource
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. 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.- Returns:
- OnlineResource or null
-
accept
@Extension Object accept(StyleVisitor visitor, Object extraData)
calls the visit method of a StyleVisitor- Parameters:
visitor
- the style visitor
-
-