Package org.geotools.xml.styling
Class SLDParser
- Object
-
- SLDParser
-
public class SLDParser extends Object
TODO: This really needs to be container ready- Author:
- jgarnett
-
-
Field Summary
Fields Modifier and Type Field Description protected StyleFactory
factory
protected InputSource
source
-
Constructor Summary
Constructors Constructor Description SLDParser(StyleFactory factory)
Create a Stylereader - use if you already have a dom to parse.SLDParser(StyleFactory factory, File f)
Creates a new SLDStyle object.SLDParser(StyleFactory factory, InputStream s)
Creates a new SLDStyle object.SLDParser(StyleFactory factory, Reader r)
Creates a new SLDStyle object.SLDParser(StyleFactory factory, String filename)
Creates a new instance of SLDStylerSLDParser(StyleFactory factory, URL url)
Creates a new SLDStyle object.SLDParser(StyleFactory factory, FilterFactory filterFactory)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected DocumentBuilder
newDocumentBuilder(boolean namespaceAware)
protected AnchorPoint
parseAnchorPoint(Node root)
Internal method to parse an AnchorPoint node; protected visibility for testing.protected ChannelSelection
parseChannelSelection(Node root)
Internal parse method - made protected for unit testingprotected ColorMap
parseColorMap(Node root)
Internal parse method - made protected for unit testingprotected ColorMapEntry
parseColorMapEntry(Node root)
Internal parse method - made protected for unit testingprotected ContrastEnhancement
parseContrastEnhancement(Node root)
Internal parse method - made protected for unit testingStyledLayerDescriptor
parseDescriptor(Node root)
protected Displacement
parseDisplacement(Node root)
Internal parse method - made protected for unit testingprotected ExternalGraphic
parseExternalGraphic(Node root)
Internal parse method - made protected for unit testingprotected FeatureTypeConstraint
parseFeatureTypeConstraint(Node root)
protected FeatureTypeStyle
parseFeatureTypeStyle(Node style)
Internal parse method - made protected for unit testingprotected Fill
parseFill(Node root)
Internal parse method - made protected for unit testingprotected Filter
parseFilter(Node child)
Internal parse method - made protected for unit testingprotected Font
parseFont(Node root)
Internal method to parse a Font Node; protected to allow for unit testingprotected Expression
parseGeometry(Node root)
Internal parse method - made protected for unit testingprotected String
parseGeometryName(Node root)
Internal parse method - made protected for unit testingprotected Graphic
parseGraphic(Node root)
Internal parse method - made protected for unit testingprotected Halo
parseHalo(Node root)
Internal parse method - made protected for unit testingprotected LabelPlacement
parseLabelPlacement(Node root)
Internal parse method - made protected for unit testingprotected LinePlacement
parseLinePlacement(Node root)
Internal parse method - made protected for unit testingprotected LineSymbolizer
parseLineSymbolizer(Node root)
parses the SLD for a linesymbolizerprotected Mark
parseMark(Node root)
Internal parse method - made protected for unit testingNamedStyle
parseNamedStyle(Node n)
Parses a NamedStyle from node.protected String
parseOnlineResource(Node root)
Internal parse method - made protected for unit testingprotected OtherText
parseOtherText(Node root)
protected PointPlacement
parsePointPlacement(Node root)
Internal parse method - made protected for unit testingprotected PointSymbolizer
parsePointSymbolizer(Node root)
parses the SLD for a point symbolizerprotected PolygonSymbolizer
parsePolygonSymbolizer(Node root)
parses the SLD for a polygonsymbolizerprotected RasterSymbolizer
parseRasterSymbolizer(Node root)
parses the SLD for a text symbolizerprotected RemoteOWS
parseRemoteOWS(Node root)
protected Rule
parseRule(Node ruleNode)
Internal parse method - made protected for unit testingprotected SelectedChannelType
parseSelectedChannel(Node root)
Internal parse method - made protected for unit testingprotected ShadedRelief
parseShadedRelief(Node root)
Internal parse method - made protected for unit testingStyledLayerDescriptor
parseSLD()
protected Stroke
parseStroke(Node root)
Internal parse method - made protected for unit testingStyle
parseStyle(Node n)
build a style for the Node providedprotected TextSymbolizer
parseTextSymbolizer(Node root)
parses the SLD for a text symbolizerStyle[]
readDOM()
Read styles from the dom that was previously parsed.Style[]
readDOM(Document document)
Read the DOM provided and create a Style object for each user style foundStyle[]
readXML()
Read the xml inputsource provided and create a Style object for each user style foundvoid
setEntityResolver(EntityResolver entityResolver)
Sets the EntityResolver implementation that will be used by DocumentBuilder to resolve XML external entities.void
setInput(File f)
Sets the file to use to read the SLD fromvoid
setInput(InputStream in)
Sets the input stream to read the SLD fromvoid
setInput(Reader in)
Sets the input stream to read the SLD fromvoid
setInput(String filename)
set the file to read the SLD fromvoid
setInput(URL url)
sets an URL to read the SLD fromvoid
setOnLineResourceLocator(ResourceLocator onlineResourceLocator)
Sets the resource loader implementation for parsing online resources.
-
-
-
Field Detail
-
source
protected InputSource source
-
factory
protected StyleFactory factory
-
-
Constructor Detail
-
SLDParser
public SLDParser(StyleFactory factory)
Create a Stylereader - use if you already have a dom to parse.- Parameters:
factory
- The StyleFactory to use to build the style
-
SLDParser
public SLDParser(StyleFactory factory, FilterFactory filterFactory)
-
SLDParser
public SLDParser(StyleFactory factory, String filename) throws FileNotFoundException
Creates a new instance of SLDStyler- Parameters:
factory
- The StyleFactory to use to read the filefilename
- The file to be read.- Throws:
FileNotFoundException
- - if the file is missing
-
SLDParser
public SLDParser(StyleFactory factory, File f) throws FileNotFoundException
Creates a new SLDStyle object.- Parameters:
factory
- The StyleFactory to use to read the filef
- the File to be read- Throws:
FileNotFoundException
- - if the file is missing
-
SLDParser
public SLDParser(StyleFactory factory, URL url) throws IOException
Creates a new SLDStyle object.- Parameters:
factory
- The StyleFactory to use to read the fileurl
- the URL to be read.- Throws:
IOException
- - if something goes wrong reading the file
-
SLDParser
public SLDParser(StyleFactory factory, InputStream s)
Creates a new SLDStyle object.- Parameters:
factory
- The StyleFactory to use to read the files
- The inputstream to be read
-
SLDParser
public SLDParser(StyleFactory factory, Reader r)
Creates a new SLDStyle object.- Parameters:
factory
- The StyleFactory to use to read the filer
- The inputstream to be read
-
-
Method Detail
-
setInput
public void setInput(String filename) throws FileNotFoundException
set the file to read the SLD from- Parameters:
filename
- the file to read the SLD from- Throws:
FileNotFoundException
- if the file is missing
-
setInput
public void setInput(File f) throws FileNotFoundException
Sets the file to use to read the SLD from- Parameters:
f
- the file to use- Throws:
FileNotFoundException
- if the file is missing
-
setInput
public void setInput(URL url) throws IOException
sets an URL to read the SLD from- Parameters:
url
- the url to read the SLD from- Throws:
IOException
- If anything goes wrong opening the url
-
setInput
public void setInput(InputStream in)
Sets the input stream to read the SLD from- Parameters:
in
- the inputstream used to read the SLD from
-
setInput
public void setInput(Reader in)
Sets the input stream to read the SLD from- Parameters:
in
- the inputstream used to read the SLD from
-
setOnLineResourceLocator
public void setOnLineResourceLocator(ResourceLocator onlineResourceLocator)
Sets the resource loader implementation for parsing online resources.
-
setEntityResolver
public void setEntityResolver(EntityResolver entityResolver)
Sets the EntityResolver implementation that will be used by DocumentBuilder to resolve XML external entities.
-
newDocumentBuilder
protected DocumentBuilder newDocumentBuilder(boolean namespaceAware) throws ParserConfigurationException
- Throws:
ParserConfigurationException
-
readXML
public Style[] readXML()
Read the xml inputsource provided and create a Style object for each user style found- Returns:
- Style[] the styles constructed.
- Throws:
RuntimeException
- if a parsing error occurs
-
readDOM
public Style[] readDOM()
Read styles from the dom that was previously parsed.
-
readDOM
public Style[] readDOM(Document document)
Read the DOM provided and create a Style object for each user style found- Parameters:
document
- a dom containing the SLD- Returns:
- Style[] the styles constructed.
-
parseSLD
public StyledLayerDescriptor parseSLD()
-
parseDescriptor
public StyledLayerDescriptor parseDescriptor(Node root)
-
parseFeatureTypeConstraint
protected FeatureTypeConstraint parseFeatureTypeConstraint(Node root)
-
parseNamedStyle
public NamedStyle parseNamedStyle(Node n)
Parses a NamedStyle from node.A NamedStyle is used to refer to a style that has a name in a WMS, and is defined as:
<code> <xsd:element name="NamedStyle"> <xsd:annotation> <xsd:documentation> A NamedStyle is used to refer to a style that has a name in a WMS. </xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence> <xsd:element ref="sld:Name"/> </xsd:sequence> </xsd:complexType> </xsd:element> </code>
-
parseStyle
public Style parseStyle(Node n)
build a style for the Node provided- Parameters:
n
- the node which contains the style to be parsed.- Returns:
- the Style constructed.
- Throws:
RuntimeException
- if an error occurs setting up the parser
-
parseFeatureTypeStyle
protected FeatureTypeStyle parseFeatureTypeStyle(Node style)
Internal parse method - made protected for unit testing
-
parseRule
protected Rule parseRule(Node ruleNode)
Internal parse method - made protected for unit testing
-
parseFilter
protected Filter parseFilter(Node child)
Internal parse method - made protected for unit testing
-
parseLineSymbolizer
protected LineSymbolizer parseLineSymbolizer(Node root)
parses the SLD for a linesymbolizer- Parameters:
root
- a w2c Dom Node- Returns:
- the linesymbolizer
-
parsePolygonSymbolizer
protected PolygonSymbolizer parsePolygonSymbolizer(Node root)
parses the SLD for a polygonsymbolizer- Parameters:
root
- w3c dom node- Returns:
- the polygon symbolizer
-
parseTextSymbolizer
protected TextSymbolizer parseTextSymbolizer(Node root)
parses the SLD for a text symbolizer- Parameters:
root
- w3c dom node- Returns:
- the TextSymbolizer
-
parseRasterSymbolizer
protected RasterSymbolizer parseRasterSymbolizer(Node root)
parses the SLD for a text symbolizer- Parameters:
root
- w3c dom node- Returns:
- the TextSymbolizer
-
parseColorMapEntry
protected ColorMapEntry parseColorMapEntry(Node root)
Internal parse method - made protected for unit testing
-
parseColorMap
protected ColorMap parseColorMap(Node root)
Internal parse method - made protected for unit testing
-
parseSelectedChannel
protected SelectedChannelType parseSelectedChannel(Node root)
Internal parse method - made protected for unit testing
-
parseChannelSelection
protected ChannelSelection parseChannelSelection(Node root)
Internal parse method - made protected for unit testing
-
parseContrastEnhancement
protected ContrastEnhancement parseContrastEnhancement(Node root)
Internal parse method - made protected for unit testing
-
parseShadedRelief
protected ShadedRelief parseShadedRelief(Node root)
Internal parse method - made protected for unit testing
-
parsePointSymbolizer
protected PointSymbolizer parsePointSymbolizer(Node root)
parses the SLD for a point symbolizer- Parameters:
root
- a w3c dom node- Returns:
- the pointsymbolizer
-
parseGraphic
protected Graphic parseGraphic(Node root)
Internal parse method - made protected for unit testing
-
parseGeometryName
protected String parseGeometryName(Node root)
Internal parse method - made protected for unit testing
-
parseGeometry
protected Expression parseGeometry(Node root)
Internal parse method - made protected for unit testing
-
parseMark
protected Mark parseMark(Node root)
Internal parse method - made protected for unit testing
-
parseExternalGraphic
protected ExternalGraphic parseExternalGraphic(Node root)
Internal parse method - made protected for unit testing
-
parseOnlineResource
protected String parseOnlineResource(Node root)
Internal parse method - made protected for unit testing
-
parseStroke
protected Stroke parseStroke(Node root)
Internal parse method - made protected for unit testing
-
parseFill
protected Fill parseFill(Node root)
Internal parse method - made protected for unit testing
-
parseFont
protected Font parseFont(Node root)
Internal method to parse a Font Node; protected to allow for unit testing
-
parseLabelPlacement
protected LabelPlacement parseLabelPlacement(Node root)
Internal parse method - made protected for unit testing
-
parsePointPlacement
protected PointPlacement parsePointPlacement(Node root)
Internal parse method - made protected for unit testing
-
parseLinePlacement
protected LinePlacement parseLinePlacement(Node root)
Internal parse method - made protected for unit testing
-
parseAnchorPoint
protected AnchorPoint parseAnchorPoint(Node root)
Internal method to parse an AnchorPoint node; protected visibility for testing.
-
parseDisplacement
protected Displacement parseDisplacement(Node root)
Internal parse method - made protected for unit testing
-
-