org.geotools.styling
Class SLDParser

Object
  extended by SLDParser

public class SLDParser
extends Object

TODO: This really needs to be container ready

Author:
jgarnett

Field Summary
protected  StyleFactory factory
           
protected  InputSource source
           
 
Constructor Summary
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, FilterFactory filterFactory)
           
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 SLDStyler
SLDParser(StyleFactory factory, URL url)
          Creates a new SLDStyle object.
 
Method Summary
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 testing
protected  ColorMap parseColorMap(Node root)
          Internal parse method - made protected for unit testing
protected  ColorMapEntry parseColorMapEntry(Node root)
          Internal parse method - made protected for unit testing
protected  ContrastEnhancement parseContrastEnhancement(Node root)
          Internal parse method - made protected for unit testing
 StyledLayerDescriptor parseDescriptor(Node root)
           
protected  Displacement parseDisplacement(Node root)
          Internal parse method - made protected for unit testing
protected  ExternalGraphic parseExternalGraphic(Node root)
          Internal parse method - made protected for unit testing
protected  FeatureTypeConstraint parseFeatureTypeConstraint(Node root)
           
protected  FeatureTypeStyle parseFeatureTypeStyle(Node style)
          Internal parse method - made protected for unit testing
protected  Fill parseFill(Node root)
          Internal parse method - made protected for unit testing
protected  Filter parseFilter(Node child)
          Internal parse method - made protected for unit testing
protected  Font parseFont(Node root)
          Internal method to parse a Font Node; protected to allow for unit testing
protected  Expression parseGeometry(Node root)
          Internal parse method - made protected for unit testing
protected  String parseGeometryName(Node root)
          Internal parse method - made protected for unit testing
protected  Graphic parseGraphic(Node root)
          Internal parse method - made protected for unit testing
protected  Halo parseHalo(Node root)
          Internal parse method - made protected for unit testing
protected  LabelPlacement parseLabelPlacement(Node root)
          Internal parse method - made protected for unit testing
protected  LinePlacement parseLinePlacement(Node root)
          Internal parse method - made protected for unit testing
protected  LineSymbolizer parseLineSymbolizer(Node root)
          parses the SLD for a linesymbolizer
protected  Mark parseMark(Node root)
          Internal parse method - made protected for unit testing
 NamedStyle parseNamedStyle(Node n)
          Parses a NamedStyle from node.
protected  String parseOnlineResource(Node root)
          Internal parse method - made protected for unit testing
protected  OtherText parseOtherText(Node root)
           
protected  PointPlacement parsePointPlacement(Node root)
          Internal parse method - made protected for unit testing
protected  PointSymbolizer parsePointSymbolizer(Node root)
          parses the SLD for a point symbolizer
protected  PolygonSymbolizer parsePolygonSymbolizer(Node root)
          parses the SLD for a polygonsymbolizer
protected  RasterSymbolizer parseRasterSymbolizer(Node root)
          parses the SLD for a text symbolizer
protected  RemoteOWS parseRemoteOWS(Node root)
           
protected  Rule parseRule(Node ruleNode)
          Internal parse method - made protected for unit testing
protected  SelectedChannelType parseSelectedChannel(Node root)
          Internal parse method - made protected for unit testing
protected  ShadedRelief parseShadedRelief(Node root)
          Internal parse method - made protected for unit testing
 StyledLayerDescriptor parseSLD()
           
protected  Stroke parseStroke(Node root)
          Internal parse method - made protected for unit testing
 Style parseStyle(Node n)
          build a style for the Node provided
protected  TextSymbolizer parseTextSymbolizer(Node root)
          parses the SLD for a text symbolizer
 Style[] 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 found
 Style[] readXML()
          Read the xml inputsource provided and create a Style object for each user style found
 void 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 from
 void setInput(InputStream in)
          Sets the input stream to read the SLD from
 void setInput(Reader in)
          Sets the input stream to read the SLD from
 void setInput(String filename)
          set the file to read the SLD from
 void setInput(URL url)
          sets an URL to read the SLD from
 void setOnLineResourceLocator(ResourceLocator onlineResourceLocator)
          Sets the resource loader implementation for parsing online resources.
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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 file
filename - 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 file
f - 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 file
url - 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 file
s - 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 file
r - 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.

Parameters:
entityResolver -

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)

parseRemoteOWS

protected RemoteOWS parseRemoteOWS(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>
 

Parameters:
n -

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

parseOtherText

protected OtherText parseOtherText(Node root)

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.

Parameters:
root -
Returns:

parseDisplacement

protected Displacement parseDisplacement(Node root)
Internal parse method - made protected for unit testing


parseHalo

protected Halo parseHalo(Node root)
Internal parse method - made protected for unit testing



Copyright © 1996-2014 Geotools. All Rights Reserved.