rrenkert@46: package de.intevation.mxd.reader; rrenkert@46: rrenkert@46: import org.apache.log4j.Logger; rrenkert@46: rrenkert@46: import com.esri.arcgis.display.ISymbol; rrenkert@46: import com.esri.arcgis.display.IMarkerSymbol; rrenkert@46: import com.esri.arcgis.display.MultiLayerMarkerSymbol; rrenkert@46: rrenkert@46: import org.w3c.dom.Element; rrenkert@46: rrenkert@46: /** rrenkert@46: * Reads multi layer marker symbol information. rrenkert@46: * rrenkert@46: * @author Raimund Renkert rrenkert@46: */ rrenkert@80: public class MultiLayerMarkerSymbolReader rrenkert@80: extends AbstractSymbolReader { rrenkert@46: rrenkert@46: /** rrenkert@46: * The logger. rrenkert@46: */ rrenkert@46: private static final Logger logger = rrenkert@46: Logger.getLogger(MultiLayerMarkerSymbolReader.class); rrenkert@46: rrenkert@46: /** rrenkert@46: * Private member. rrenkert@46: */ rrenkert@46: private MultiLayerMarkerSymbol symbol; rrenkert@46: rrenkert@46: public MultiLayerMarkerSymbolReader(ISymbol symbol) rrenkert@46: throws Exception { rrenkert@46: logger.debug("contructor()"); rrenkert@46: if(symbol instanceof MultiLayerMarkerSymbol) { rrenkert@46: this.symbol = (MultiLayerMarkerSymbol)symbol; rrenkert@46: } rrenkert@46: else { rrenkert@46: throw new Exception("Not a MultiLayerMarkerSymbol!"); rrenkert@46: } rrenkert@46: } rrenkert@46: rrenkert@63: public MultiLayerMarkerSymbolReader(IMarkerSymbol symbol) rrenkert@63: throws Exception { rrenkert@63: logger.debug("contructor()"); rrenkert@63: if(symbol instanceof MultiLayerMarkerSymbol) { rrenkert@63: this.symbol = (MultiLayerMarkerSymbol)symbol; rrenkert@63: } rrenkert@63: else { rrenkert@63: throw new Exception("Not a MultiLayerMarkerSymbol!"); rrenkert@63: } rrenkert@63: } rrenkert@63: rrenkert@46: /** rrenkert@46: * Reads the symbol attributes. rrenkert@46: * rrenkert@46: * @return The XML node. rrenkert@46: */ rrenkert@46: public Element read() rrenkert@74: throws Exception { rrenkert@46: logger.debug("read()"); rrenkert@46: for(int i = 0; i < symbol.getLayerCount(); i++) { rrenkert@74: ISymbol sym = (ISymbol)symbol.getLayer(i); rrenkert@74: ISymbolReader sreader = new MarkerSymbolReader(sym); rrenkert@80: sreader.setParent(parent); rrenkert@74: sreader.setUtil(util); rrenkert@74: sreader.read(); rrenkert@46: } rrenkert@80: return parent; rrenkert@46: } rrenkert@46: } rrenkert@46: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :