org.geotools.styling
Class StrokeImpl

Object
  extended by StrokeImpl
All Implemented Interfaces:
Cloneable, Stroke

public class StrokeImpl
extends Object
implements Stroke, Cloneable

Provides a Java representation of the Stroke object in an SLD document. A stroke defines how a line is rendered.

Author:
James Macgill, CCG

Field Summary
 
Fields inherited from interface Stroke
DEFAULT, NULL
 
Constructor Summary
protected StrokeImpl()
          Creates a new instance of Stroke
protected StrokeImpl(FilterFactory factory)
           
 
Method Summary
 void accept(StyleVisitor visitor)
           
 Object accept(StyleVisitor visitor, Object data)
          calls the visit method of a StyleVisitor
 Object clone()
          Clone the StrokeImpl object.
 boolean equals(Object oth)
          Compares this stroke with another stroke for equality.
 Expression getColor()
          This parameter gives the solid color that will be used for a stroke.
 Color getColor(SimpleFeature feature)
          This parameter gives the solid color that will be used for a stroke.
 float[] getDashArray()
          This parameter encodes the dash pattern as a series of floats.
 Expression getDashOffset()
          This param determines where the dash pattern should start from.
 GraphicImpl getGraphicFill()
          This parameter indicates that a stipple-fill repeated graphic will be used and specifies the fill graphic to use.
 GraphicImpl getGraphicStroke()
          This parameter indicates that a repeated-linear-graphic graphic stroke type will be used and specifies the graphic to use.
 Expression getLineCap()
          This parameter controls how line strings should be capped.
 Expression getLineJoin()
          This parameter controls how line strings should be joined together.
 Expression getOpacity()
          This specifies the level of translucency to use when rendering the stroke.
 Expression getWidth()
          This parameter gives the absolute width (thickness) of a stroke in pixels encoded as a float.
 int hashCode()
           
 void setColor(Expression color)
          This parameter sets the solid color that will be used for a stroke.
 void setColor(String color)
          This parameter sets the solid color that will be used for a stroke.
 void setDashArray(float[] dashPattern)
          This parameter encodes the dash pattern as a series of floats.
 void setDashOffset(Expression dashOffset)
          This param determines where the dash pattern should start from.
 void setFilterFactory(FilterFactory factory)
           
 void setGraphicFill(Graphic fillGraphic)
          This parameter indicates that a stipple-fill repeated graphic will be used and specifies the fill graphic to use.
 void setGraphicStroke(Graphic strokeGraphic)
          This parameter indicates that a repeated-linear-graphic graphic stroke type will be used and specifies the graphic to use.
 void setLineCap(Expression lineCap)
          This parameter controls how line strings should be capped.
 void setLineJoin(Expression lineJoin)
          This parameter controls how line strings should be joined together.
 void setOpacity(Expression opacity)
          This specifies the level of translucency to use when rendering the stroke.
 void setWidth(Expression width)
          This parameter sets the absolute width (thickness) of a stroke in pixels encoded as a float.
 String toString()
           
 
Methods inherited from class Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

StrokeImpl

protected StrokeImpl()
Creates a new instance of Stroke


StrokeImpl

protected StrokeImpl(FilterFactory factory)
Method Detail

setFilterFactory

public void setFilterFactory(FilterFactory factory)

getColor

public Expression getColor()
This parameter gives the solid color that will be used for a stroke.
The color value is RGB-encoded using two hexidecimal digits per primary-color component in the order Red, Green, Blue, prefixed with the hash (#) sign. The hexidecimal digits between A and F may be in either upper or lower case. For example, full red is encoded as "#ff0000" (with no quotation marks). The default color is defined to be black ("#000000"). Note: in CSS this parameter is just called Stroke and not Color.

Specified by:
getColor in interface Stroke
Returns:
The color of the stroke encoded as a hexidecimal RGB value.

setColor

public void setColor(Expression color)
This parameter sets the solid color that will be used for a stroke.
The color value is RGB-encoded using two hexidecimal digits per primary-color component in the order Red, Green, Blue, prefixed with the hash (#) sign. The hexidecimal digits between A and F may be in either upper or lower case. For example, full red is encoded as "#ff0000" (with no quotation marks). The default color is defined to be black ("#000000"). Note: in CSS this parameter is just called Stroke and not Color.

Parameters:
color - The color of the stroke encoded as a hexidecimal RGB value. This must not be null.
Throws:
IllegalArgumentException - DOCUMENT ME!

setColor

public void setColor(String color)
This parameter sets the solid color that will be used for a stroke.
The color value is RGB-encoded using two hexidecimal digits per primary-color component in the order Red, Green, Blue, prefixed with the hash (#) sign. The hexidecimal digits between A and F may be in either upper or lower case. For example, full red is encoded as "#ff0000" (with no quotation marks). The default color is defined to be black ("#000000"). Note: in CSS this parameter is just called Stroke and not Color.

Parameters:
color - The color of the stroke encoded as a hexidecimal RGB value.

getDashArray

public float[] getDashArray()
This parameter encodes the dash pattern as a series of floats.
The first number gives the length in pixels of the dash to draw, the second gives the amount of space to leave, and this pattern repeats.
If an odd number of values is given, then the pattern is expanded by repeating it twice to give an even number of values. The default is to draw an unbroken line.
For example, "2 1 3 2" would produce:
-- ---  -- ---  --  ---  -- ---  -- ---  --

Specified by:
getDashArray in interface Stroke
Returns:
The dash pattern as an array of float values in the form "dashlength gaplength ..."

setDashArray

public void setDashArray(float[] dashPattern)
This parameter encodes the dash pattern as a series of floats.
The first number gives the length in pixels of the dash to draw, the second gives the amount of space to leave, and this pattern repeats.
If an odd number of values is given, then the pattern is expanded by repeating it twice to give an even number of values. The default is to draw an unbroken line.
For example, "2 1 3 2" would produce:
-- ---  -- ---   -- ---  -- ---  --  ---  --

Parameters:
dashPattern - The dash pattern as an array of float values in the form "dashlength gaplength ..."

getDashOffset

public Expression getDashOffset()
This param determines where the dash pattern should start from.

Specified by:
getDashOffset in interface Stroke
Returns:
where the dash should start from.

setDashOffset

public void setDashOffset(Expression dashOffset)
This param determines where the dash pattern should start from.

Parameters:
dashOffset - The distance into the dash pattern that should act as the start.

getGraphicFill

public GraphicImpl getGraphicFill()
This parameter indicates that a stipple-fill repeated graphic will be used and specifies the fill graphic to use.

Specified by:
getGraphicFill in interface Stroke
Returns:
The graphic to use as a stipple fill. If null, then no Stipple fill should be used.

setGraphicFill

public void setGraphicFill(Graphic fillGraphic)
This parameter indicates that a stipple-fill repeated graphic will be used and specifies the fill graphic to use.

Parameters:
fillGraphic - The graphic to use as a stipple fill. If null, then no Stipple fill should be used.

getGraphicStroke

public GraphicImpl getGraphicStroke()
This parameter indicates that a repeated-linear-graphic graphic stroke type will be used and specifies the graphic to use. Proper stroking with a linear graphic requires two "hot-spot" points within the space of the graphic to indicate where the rendering line starts and stops. In the case of raster images with no special mark-up, this line will be assumed to be the middle pixel row of the image, starting from the first pixel column and ending at the last pixel column.

Specified by:
getGraphicStroke in interface Stroke
Returns:
The graphic to use as a linear graphic. If null, then no graphic stroke should be used.

setGraphicStroke

public void setGraphicStroke(Graphic strokeGraphic)
This parameter indicates that a repeated-linear-graphic graphic stroke type will be used and specifies the graphic to use. Proper stroking with a linear graphic requires two "hot-spot" points within the space of the graphic to indicate where the rendering line starts and stops. In the case of raster images with no special mark-up, this line will be assumed to be the middle pixel row of the image, starting from the first pixel column and ending at the last pixel column.

Parameters:
strokeGraphic - The graphic to use as a linear graphic. If null, then no graphic stroke should be used.

getLineCap

public Expression getLineCap()
This parameter controls how line strings should be capped.

Specified by:
getLineCap in interface Stroke
Returns:
The cap style. This will be one of "butt", "round" and "square" There is no defined default.

setLineCap

public void setLineCap(Expression lineCap)
This parameter controls how line strings should be capped.

Parameters:
lineCap - The cap style. This can be one of "butt", "round" and "square" There is no defined default.

getLineJoin

public Expression getLineJoin()
This parameter controls how line strings should be joined together.

Specified by:
getLineJoin in interface Stroke
Returns:
The join style. This will be one of "mitre", "round" and "bevel". There is no defined default.

setLineJoin

public void setLineJoin(Expression lineJoin)
This parameter controls how line strings should be joined together.

Parameters:
lineJoin - The join style. This will be one of "mitre", "round" and "bevel". There is no defined default.

getOpacity

public Expression getOpacity()
This specifies the level of translucency to use when rendering the stroke.
The value is encoded as a floating-point value between 0.0 and 1.0 with 0.0 representing totally transparent and 1.0 representing totally opaque. A linear scale of translucency is used for intermediate values.
For example, "0.65" would represent 65% opacity. The default value is 1.0 (opaque).

Specified by:
getOpacity in interface Stroke
Returns:
The opacity of the stroke, where 0.0 is completely transparent and 1.0 is completely opaque.

setOpacity

public void setOpacity(Expression opacity)
This specifies the level of translucency to use when rendering the stroke.
The value is encoded as a floating-point value between 0.0 and 1.0 with 0.0 representing totally transparent and 1.0 representing totally opaque. A linear scale of translucency is used for intermediate values.
For example, "0.65" would represent 65% opacity. The default value is 1.0 (opaque).

Parameters:
opacity - The opacity of the stroke, where 0.0 is completely transparent and 1.0 is completely opaque.

getWidth

public Expression getWidth()
This parameter gives the absolute width (thickness) of a stroke in pixels encoded as a float. The default is 1.0. Fractional numbers are allowed but negative numbers are not.

Specified by:
getWidth in interface Stroke
Returns:
The width of the stroke in pixels. This may be fractional but not negative.

setWidth

public void setWidth(Expression width)
This parameter sets the absolute width (thickness) of a stroke in pixels encoded as a float. The default is 1.0. Fractional numbers are allowed but negative numbers are not.

Parameters:
width - The width of the stroke in pixels. This may be fractional but not negative.

toString

public String toString()
Overrides:
toString in class Object

getColor

public Color getColor(SimpleFeature feature)
Description copied from interface: Stroke
This parameter gives the solid color that will be used for a stroke.
The color value returned here as a Java Color object, this is a convinence method that goes above The default color is defined to be Color.BLACK Note: in CSS this parameter is just called Stroke and not Color.

Returns:
The color of the stroke as a Color object

accept

public Object accept(StyleVisitor visitor,
                     Object data)
Description copied from interface: Stroke
calls the visit method of a StyleVisitor

Specified by:
accept in interface Stroke
Parameters:
visitor - the style visitor

accept

public void accept(StyleVisitor visitor)

clone

public Object clone()
Clone the StrokeImpl object.

The clone is a deep copy of the original, except for the expression values which are immutable.

Overrides:
clone in class Object
Returns:
A copy of this object.
See Also:
org.geotools.styling.Stroke#clone()

hashCode

public int hashCode()
Overrides:
hashCode in class Object

equals

public boolean equals(Object oth)
Compares this stroke with another stroke for equality.

Overrides:
equals in class Object
Parameters:
oth - The other StrokeImpl to compare
Returns:
True if this and oth are equal.


Copyright © 1996-2014 Geotools. All Rights Reserved.