Package org.geotools.styling.visitor
Class DuplicatingStyleVisitor
Object
DuplicatingStyleVisitor
- All Implemented Interfaces:
StyleVisitor
- Direct Known Subclasses:
ChannelSelectionUpdateStyleVisitor,FeatureStyleScaleStyleVisitor,RenderingSelectorStyleVisitor,RescaleStyleVisitor,UomRescaleStyleVisitor
Creates a deep copy of a Style, this class is *NOT THREAD SAFE*.
This class makes use of an internal stack to story the copied result, retrieve with a call to getCopy() after visiting:
DuplicatingStyleVisitor copyStyle = new DuplicatingStyleVisitor();
rule.accepts( copyStyle );
Rule rule = (Rule) copyStyle.getCopy();
This class is often used as a base for an anoymous subclass where a style transformation is needed (such as removing PointSymbolizers or changing the scale - see RescaleStyleVisitor for an example).
- Author:
- Jesse Eichar
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final DuplicatingFilterVisitorWe are using aggregation here to contain our DuplicatingFilterVisitor.protected final FilterFactoryThis is our internal stack; used to maintain state as we copy sub elements.protected final StyleFactoryprotected boolean -
Constructor Summary
ConstructorsConstructorDescriptionDuplicatingStyleVisitor(StyleFactory styleFactory) DuplicatingStyleVisitor(StyleFactory styleFactory, FilterFactory filterFactory) DuplicatingStyleVisitor(StyleFactory styleFactory, FilterFactory filterFactory, DuplicatingFilterVisitor filterCloner) Builds a new duplicating style visitor using a customDuplicatingStyleVisitor -
Method Summary
Modifier and TypeMethodDescriptionprotected float[]copy(float[] array) Null safe copy of float array.protected <K,V> Map<K, V> Null safe map copy, used for external graphic custom properties.protected Expressioncopy(Expression expression) Null safe expression copy.protected FilterNull safe copy of filter.protected AnchorPointcopy(AnchorPoint anchorPoint) Null safe copy of anchor point.protected ChannelSelectioncopy(ChannelSelection channelSelection) protected ColorMapprotected ColorMapEntrycopy(ColorMapEntry entry) protected ContrastEnhancementcopy(ContrastEnhancement contrast) protected Descriptioncopy(Description desc) Null safe copy of descriptionprotected Displacementcopy(Displacement displacement) Null safe copy of displacement.protected Extentprotected Extent[]protected ExternalGraphiccopy(ExternalGraphic externalGraphic) protected FillNull safe fill copyprotected FontNull safe copy of a single fontprotected GraphicNull safe graphic copyprotected HaloNull safe copy of halo.protected LabelPlacementcopy(LabelPlacement placement) protected Markprotected OverlapBehaviorcopy(OverlapBehavior ob) protected SelectedChannelTypecopy(SelectedChannelType selectedChannelType) protected SelectedChannelType[]copy(SelectedChannelType... channels) protected ShadedReliefcopy(ShadedRelief shaded) Null safe copy of shaded relief.protected StrokeNull safe copy of stroke.protected Symbolprotected Symbolizercopy(Symbolizer symbolizer) protected List<Expression>copyExpressions(List<Expression> expressions) Copy list of expressions.Null safe copy of font list.getCopy()voidsetStrict(boolean strict) True if we should enforce equality after a copy.voidvisit(AnchorPoint ap) Called when accept is called on an anchor pointvoidCalled when accept is called on a rasterChannelSelectionelementvoidCalled when accept is called on a raster color mapvoidvisit(ColorMapEntry colorMapEntry) Called when accept is called on a raster color map entryvoidvisit(ContrastEnhancement contrastEnhancement) Called when accept is called on a raster ContrastEnhancement elementvoidvisit(Displacement dis) Called when accept is called on a displacementvoidvisit(ExternalGraphic exgr) Called when accept is called on an external graphicvoidCalled when accept is called on a FeatureTypeConstraint.voidvisit(FeatureTypeStyle fts) Called when accept is called on a fetauretypestylevoidCalled when accept is called on a fillvoidCalled when accept is called on a graphicvoidCalled when accept is called on a halovoidvisit(ImageOutline outline) Called when accept is called on a rasterImageOutlineelementvoidvisit(LinePlacement lp) Called when accept is called on a Line Placementvoidvisit(LineSymbolizer line) Called when accept is called on a linesymbolizervoidCalled when accept is called on a markvoidvisit(NamedLayer layer) Called when accept is called on a NamedLayer.voidvisit(OverlapBehavior ob) Called when accept is called on a rasterOverlapBehaviorEnumelementvoidvisit(PointPlacement pp) Called when accept is called on a Point Placementvoidvisit(PointSymbolizer ps) Called when accept is called on a pointsymbolizervoidvisit(PolygonSymbolizer poly) Called when accept is called on a polygon symbolizervoidvisit(RasterSymbolizer raster) Called when accept is called on a rastersymbolizervoidCalled when accept is called on a rulevoidvisit(SelectedChannelType sct) Called when accept is called on a rasterSelectedChannelTypeelementvoidvisit(ShadedRelief sr) Called when accept is called on a rasterShadedReliefelementvoidCalled when accept is called on a strokevoidCalled when accept is called on a Style.voidCalled when accept is called on a StyledLayerDescriptor.voidvisit(Symbolizer sym) since it is impossible to create a Symbolizer this method should generate an exception or warning.voidvisit(TextSymbolizer text) Called when accept is called on a textsymbolizervoidCalled when accept is called on a UserLayer.
-
Field Details
-
sf
-
ff
-
STRICT
protected boolean STRICT -
copyFilter
We are using aggregation here to contain our DuplicatingFilterVisitor. -
pages
This is our internal stack; used to maintain state as we copy sub elements.
-
-
Constructor Details
-
DuplicatingStyleVisitor
public DuplicatingStyleVisitor() -
DuplicatingStyleVisitor
-
DuplicatingStyleVisitor
-
DuplicatingStyleVisitor
public DuplicatingStyleVisitor(StyleFactory styleFactory, FilterFactory filterFactory, DuplicatingFilterVisitor filterCloner) Builds a new duplicating style visitor using a customDuplicatingStyleVisitor- Parameters:
styleFactory- Creates new style objects during style duplicationfilterFactory- Creates new filters and expressions during style duplicationfilterCloner- Copies filters during style duplication
-
-
Method Details
-
setStrict
public void setStrict(boolean strict) True if we should enforce equality after a copy. -
getCopy
-
visit
Description copied from interface:StyleVisitorCalled when accept is called on a StyledLayerDescriptor.- Specified by:
visitin interfaceStyleVisitor- Parameters:
sld- The StyledLayerDescriptor to visit
-
visit
Description copied from interface:StyleVisitorCalled when accept is called on a NamedLayer.- Specified by:
visitin interfaceStyleVisitor- Parameters:
layer- The NamedLayer to visit
-
visit
Description copied from interface:StyleVisitorCalled when accept is called on a UserLayer.- Specified by:
visitin interfaceStyleVisitor- Parameters:
layer- The UserLayer to visit
-
visit
Description copied from interface:StyleVisitorCalled when accept is called on a Style.- Specified by:
visitin interfaceStyleVisitor- Parameters:
style- The style to visit
-
visit
Description copied from interface:StyleVisitorCalled when accept is called on a rule- Specified by:
visitin interfaceStyleVisitor- Parameters:
rule- the rule to visit
-
visit
Description copied from interface:StyleVisitorCalled when accept is called on a fetauretypestyle- Specified by:
visitin interfaceStyleVisitor- Parameters:
fts- the feature type styler to visit
-
copyExpressions
Copy list of expressions.- Returns:
- copy of expressions or null if list was null
-
copy
Null safe expression copy.This method will perform a null check, and save you some lines of code:
copy.setBackgroundColor( copyExpr( fill.getColor()) );- Returns:
- copy of expression or null if expression was null
-
copy
Null safe copy of filter. -
copy
Null safe graphic copy- Returns:
- copy of graphic or null if not provided
-
copy
Null safe fill copy- Returns:
- copy of graphic or null if not provided
-
copy
protected float[] copy(float[] array) Null safe copy of float array.- Returns:
- copy of array or null if not provided
-
copy
Null safe map copy, used for external graphic custom properties.- Returns:
- copy of map
-
copy
Null safe copy of stroke.- Returns:
- copy of stroke if provided
-
copy
Null safe copy of shaded relief.- Returns:
- copy of shaded or null if not provided
-
copy
Null safe copy of description- Returns:
- copy of shaded or null if not provided
-
copy
-
copy
-
copy
-
copy
-
copy
-
copy
-
copy
-
copy
-
copy
-
copy
-
copyFonts
Null safe copy of font list.Right now style visitor does not let us visit fonts!
- Returns:
- copy of provided fonts
-
copy
Null safe copy of a single font -
copy
Null safe copy of halo.- Returns:
- copy of halo if provided
-
copy
Null safe copy of displacement.- Returns:
- copy of displacement if provided
-
copy
-
copy
-
copy
Null safe copy of anchor point.- Returns:
- copy of anchor point if provided
-
visit
Description copied from interface:StyleVisitorCalled when accept is called on a fill- Specified by:
visitin interfaceStyleVisitor- Parameters:
fill- the fill to be visited
-
visit
Description copied from interface:StyleVisitorCalled when accept is called on a stroke- Specified by:
visitin interfaceStyleVisitor- Parameters:
stroke- the stroke to visit
-
visit
Description copied from interface:StyleVisitorsince it is impossible to create a Symbolizer this method should generate an exception or warning.- Specified by:
visitin interfaceStyleVisitor- Parameters:
sym- the symbolizer to visit
-
visit
Description copied from interface:StyleVisitorCalled when accept is called on a pointsymbolizer- Specified by:
visitin interfaceStyleVisitor- Parameters:
ps- the point symbolizer to visit
-
visit
Description copied from interface:StyleVisitorCalled when accept is called on a linesymbolizer- Specified by:
visitin interfaceStyleVisitor- Parameters:
line- the line symbolizer to visit
-
visit
Description copied from interface:StyleVisitorCalled when accept is called on a polygon symbolizer- Specified by:
visitin interfaceStyleVisitor- Parameters:
poly- the polygon symbolizer to visit
-
visit
Description copied from interface:StyleVisitorCalled when accept is called on a textsymbolizer- Specified by:
visitin interfaceStyleVisitor- Parameters:
text- the text symbolizer to visit
-
visit
Description copied from interface:StyleVisitorCalled when accept is called on a rastersymbolizer- Specified by:
visitin interfaceStyleVisitor- Parameters:
raster- the raster symbolizer to visit
-
visit
Description copied from interface:StyleVisitorCalled when accept is called on a graphic- Specified by:
visitin interfaceStyleVisitor- Parameters:
gr- the graphic to visit
-
visit
Description copied from interface:StyleVisitorCalled when accept is called on a mark- Specified by:
visitin interfaceStyleVisitor- Parameters:
mark- the mark to visit
-
visit
Description copied from interface:StyleVisitorCalled when accept is called on an external graphic- Specified by:
visitin interfaceStyleVisitor- Parameters:
exgr- the external graphic to visit
-
visit
Description copied from interface:StyleVisitorCalled when accept is called on a Point Placement- Specified by:
visitin interfaceStyleVisitor- Parameters:
pp- the point placement to visit
-
visit
Description copied from interface:StyleVisitorCalled when accept is called on an anchor point- Specified by:
visitin interfaceStyleVisitor- Parameters:
ap- the anchor point to visit
-
visit
Description copied from interface:StyleVisitorCalled when accept is called on a displacement- Specified by:
visitin interfaceStyleVisitor- Parameters:
dis- the displacement to visit
-
visit
Description copied from interface:StyleVisitorCalled when accept is called on a Line Placement- Specified by:
visitin interfaceStyleVisitor- Parameters:
lp- the line placement to visit
-
visit
Description copied from interface:StyleVisitorCalled when accept is called on a halo- Specified by:
visitin interfaceStyleVisitor- Parameters:
halo- the halo to visit
-
visit
Description copied from interface:StyleVisitorCalled when accept is called on a FeatureTypeConstraint.- Specified by:
visitin interfaceStyleVisitor- Parameters:
ftc- The FeatureTypeConstraint to visit
-
copy
-
copy
-
visit
Description copied from interface:StyleVisitorCalled when accept is called on a raster color map- Specified by:
visitin interfaceStyleVisitor- Parameters:
colorMap- the color map to visit
-
visit
Description copied from interface:StyleVisitorCalled when accept is called on a raster color map entry- Specified by:
visitin interfaceStyleVisitor- Parameters:
colorMapEntry- the color map to visit
-
visit
Description copied from interface:StyleVisitorCalled when accept is called on a raster ContrastEnhancement element- Specified by:
visitin interfaceStyleVisitor- Parameters:
contrastEnhancement- theContrastEnhancementto visit.
-
visit
Description copied from interface:StyleVisitorCalled when accept is called on a rasterImageOutlineelement- Specified by:
visitin interfaceStyleVisitor- Parameters:
outline- theImageOutlineto visit.
-
visit
Description copied from interface:StyleVisitorCalled when accept is called on a rasterChannelSelectionelement- Specified by:
visitin interfaceStyleVisitor- Parameters:
cs- theChannelSelectionto visit.
-
visit
Description copied from interface:StyleVisitorCalled when accept is called on a rasterOverlapBehaviorEnumelement- Specified by:
visitin interfaceStyleVisitor- Parameters:
ob- theOverlapBehaviorEnumto visit.
-
visit
Description copied from interface:StyleVisitorCalled when accept is called on a rasterSelectedChannelTypeelement- Specified by:
visitin interfaceStyleVisitor- Parameters:
sct- theSelectedChannelTypeto visit.
-
visit
Description copied from interface:StyleVisitorCalled when accept is called on a rasterShadedReliefelement- Specified by:
visitin interfaceStyleVisitor- Parameters:
sr- theShadedReliefto visit.
-