/* * GeoTools - The Open Source Java GIS Toolkit * http://geotools.org * * (C) 2002-2008, Open Source Geospatial Foundation (OSGeo) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. */ package org.geotools.styling; /** * An interface for classes that want to perform operations on a Style * hierarchy. It forms part of a GoF Visitor Patern implementation. A call to * style.accept(StyleVisitor) will result in a call to one of the methods in * this interface. The responsibility for traversing sub filters is intended * to lie with the visitor (this is unusual, but permited under the Visitor * pattern). A typical use would be to transcribe a style into a specific * format, e.g. XML or SQL. Alternativly it may be to extract specific * information from the Style structure, for example a list of all fills. * * @author James Macgill * @author Ian Turton * * @source $URL$ * @version $Id$ */ public interface StyleVisitor { /** * Called when accept is called on a StyledLayerDescriptor. * * @param sld The StyledLayerDescriptor to visit */ void visit(StyledLayerDescriptor sld); /** * Called when accept is called on a NamedLayer. * * @param layer The NamedLayer to visit */ void visit(NamedLayer layer); /** * Called when accept is called on a UserLayer. * * @param layer The UserLayer to visit */ void visit(UserLayer layer); /** * Called when accept is called on a FeatureTypeConstraint. * * @param ftc The FeatureTypeConstraint to visit */ void visit(FeatureTypeConstraint ftc); /** * Called when accept is called on a Style. * * @param style The style to visit */ void visit(Style style); /** * Called when accept is called on a rule * * @param rule the rule to visit */ void visit(Rule rule); /** * Called when accept is called on a fetauretypestyle * * @param fts the feature type styler to visit */ void visit(FeatureTypeStyle fts); /** * Called when accept is called on a fill * * @param fill the fill to be visited */ void visit(Fill fill); /** * Called when accept is called on a stroke * * @param stroke the stroke to visit */ void visit(Stroke stroke); /** * since it is impossible to create a Symbolizer this method should * generate an exception or warning. * * @param sym the symbolizer to visit */ void visit(Symbolizer sym); /** * Called when accept is called on a pointsymbolizer * * @param ps the point symbolizer to visit */ void visit(PointSymbolizer ps); /** * Called when accept is called on a linesymbolizer * * @param line the line symbolizer to visit */ void visit(LineSymbolizer line); /** * Called when accept is called on a polygon symbolizer * * @param poly the polygon symbolizer to visit */ void visit(PolygonSymbolizer poly); /** * Called when accept is called on a textsymbolizer * * @param text the text symbolizer to visit */ void visit(TextSymbolizer text); /** * Called when accept is called on a rastersymbolizer * * @param raster the raster symbolizer to visit */ void visit(RasterSymbolizer raster); /** * Called when accept is called on a graphic * * @param gr the graphic to visit */ void visit(Graphic gr); /** * Called when accept is called on a mark * * @param mark the mark to visit */ void visit(Mark mark); /** * Called when accept is called on a external graphic * * @param exgr the external graphic to visit */ void visit(ExternalGraphic exgr); /** * Called when accept is called on a Point Placement * * @param pp the point placement to visit */ void visit(PointPlacement pp); /** * Called when accept is called on a anchor point * * @param ap the anchor point to visit */ void visit(AnchorPoint ap); /** * Called when accept is called on a displacement * * @param dis the displacement to visit */ void visit(Displacement dis); /** * Called when accept is called on a Line Placement * * @param lp the line placement to visit */ void visit(LinePlacement lp); /** * Called when accept is called on a halo * * @param halo the halo to visit */ void visit(Halo halo); /** * Called when accept is called on a raster color map * * @param colorMap the color map to visit */ void visit(ColorMap colorMap); /** * Called when accept is called on a raster color map entry * * @param colorMapEntry the color map to visit */ void visit(ColorMapEntry colorMapEntry); /** * Called when accept is called on a raster ContrastEnhancement element * @param contrastEnhancement the {@link ContrastEnhancement} to visit. */ void visit(ContrastEnhancement contrastEnhancement); /** * Called when accept is called on a raster {@link ImageOutline} element * @param outline the {@link ImageOutline} to visit. */ void visit(ImageOutline outline); /** * Called when accept is called on a raster {@link ChannelSelection} element * @param cs the {@link ChannelSelection} to visit. */ void visit(ChannelSelection cs); /** * Called when accept is called on a raster {@link OverlapBehavior} element * @param cs the {@link OverlapBehavior} to visit. */ @SuppressWarnings("deprecation") void visit(OverlapBehavior ob); /** * Called when accept is called on a raster {@link SelectedChannelType} element * @param cs the {@link SelectedChannelType} to visit. */ void visit(SelectedChannelType sct); /** * Called when accept is called on a raster {@link ShadedRelief} element * @param cs the {@link ShadedRelief} to visit. */ void visit(ShadedRelief sr); }