org.opengis.sld
Interface StyleVisitor


@Extension
public interface StyleVisitor

Interface that can be implemented by objects that want to perform some action on style objects. The visitor design pattern is used to avoid runtime type checking of objects that descend from a common superclass. So instead of code that looks like this, with costly instanceof checks:

 Symbol s = ... ;
 if (s instanceof LineSymbol) {
   // Do Line stuff
 }
 else if (s instanceof PointSymbol) {
   // Do Point stuff
 }
 ...
 
you can implement the SymbolVisitor interface and the object itself will invoke the appropriate method:
 class MyVisitor implements SymbolVisitor {
   public Object visit(LineSymbol symbol, Object userData) {
     // Do Line stuff
   }
   public Object visit(PointSymbol symbol, Object userData) {
     // Do Point stuff
   }
   ...
 }
 ...
 Symbol s = ... ;
 MyVisitor visitor = new MyVisitor(...);
 Object o = s.accept(visitor, myData);
 

Since:
GeoAPI 2.0
Version:
Implementation specification 1.0

Method Summary
 Object visit(ExternalGraphic externalGraphic, Object userData)
           
 Object visit(LinePlacement placement, Object userData)
           
 Object visit(LineSymbol symbol, Object userData)
           
 Object visit(Mark mark, Object userData)
           
 Object visit(PointPlacement placement, Object userData)
           
 Object visit(PointSymbol symbol, Object userData)
           
 Object visit(PolygonSymbol symbol, Object userData)
           
 Object visit(TextSymbol symbol, Object userData)
           
 

Method Detail

visit

Object visit(LineSymbol symbol,
             Object userData)

visit

Object visit(PointSymbol symbol,
             Object userData)

visit

Object visit(PolygonSymbol symbol,
             Object userData)

visit

Object visit(TextSymbol symbol,
             Object userData)

visit

Object visit(ExternalGraphic externalGraphic,
             Object userData)

visit

Object visit(Mark mark,
             Object userData)

visit

Object visit(LinePlacement placement,
             Object userData)

visit

Object visit(PointPlacement placement,
             Object userData)


Copyright © 1994-2008 Open Geospatial Consortium. All Rights Reserved.