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