rrenkert@70: package de.intevation.mxd.reader; rrenkert@70: rrenkert@70: import java.lang.Exception; rrenkert@70: rrenkert@70: import org.w3c.dom.Element; rrenkert@70: rrenkert@70: import org.apache.log4j.Logger; rrenkert@70: rrenkert@70: import com.esri.arcgis.display.ISymbol; rrenkert@70: import com.esri.arcgis.display.ArrowMarkerSymbol; rrenkert@70: import com.esri.arcgis.display.CharacterMarkerSymbol; rrenkert@70: import com.esri.arcgis.display.PictureMarkerSymbol; rrenkert@70: import com.esri.arcgis.display.MultiLayerMarkerSymbol; rrenkert@70: rrenkert@70: /** rrenkert@70: * Wrapper for marker symbol reader. rrenkert@70: * rrenkert@70: * @author Raimund Renkert rrenkert@70: */ rrenkert@70: public class MarkerSymbolReader rrenkert@70: extends AbstractSymbolReader { rrenkert@70: rrenkert@70: /** rrenkert@70: * The logger. rrenkert@70: */ rrenkert@70: private static final Logger logger = rrenkert@70: Logger.getLogger(SimpleFillSymbolReader.class); rrenkert@70: rrenkert@70: private ISymbol symbol; rrenkert@70: rrenkert@70: public MarkerSymbolReader(ISymbol symbol) throws Exception{ rrenkert@70: logger.debug("contructor()"); rrenkert@70: this.symbol = symbol; rrenkert@70: } rrenkert@70: rrenkert@70: public Element read() throws Exception { rrenkert@70: ISymbolReader sreader = null; rrenkert@70: if(symbol instanceof ArrowMarkerSymbol) { rrenkert@70: sreader = new ArrowMarkerSymbolReader(symbol); rrenkert@70: } rrenkert@70: else if(symbol instanceof CharacterMarkerSymbol) { rrenkert@70: sreader = new CharacterMarkerSymbolReader(symbol); rrenkert@70: } rrenkert@70: else if(symbol instanceof PictureMarkerSymbol) { rrenkert@70: sreader = new PictureMarkerSymbolReader(symbol); rrenkert@70: } rrenkert@70: else if(symbol instanceof MultiLayerMarkerSymbol) { rrenkert@70: sreader = new MultiLayerMarkerSymbolReader(symbol); rrenkert@70: } rrenkert@70: else { rrenkert@70: logger.debug("The reader for type " + symbol.getClass().toString() + rrenkert@70: " is not implemented!"); rrenkert@70: return parent; rrenkert@70: } rrenkert@70: if (sreader != null) { rrenkert@70: sreader.setParent(parent); rrenkert@70: sreader.setUtil(util); rrenkert@70: return sreader.read(); rrenkert@70: } rrenkert@70: return parent; rrenkert@70: } rrenkert@70: }