Package org.geotools.kml.bindings

Source Code of org.geotools.kml.bindings.FolderBinding

package org.geotools.kml.bindings;

import javax.xml.namespace.QName;

import org.geotools.kml.Folder;
import org.geotools.kml.FolderStack;
import org.geotools.kml.v22.KML;
import org.geotools.xml.AbstractComplexBinding;
import org.geotools.xml.Binding;
import org.geotools.xml.ElementInstance;
import org.geotools.xml.Node;
import org.opengis.feature.simple.SimpleFeature;
import org.picocontainer.MutablePicoContainer;

public class FolderBinding extends AbstractComplexBinding {

    private final FolderStack folderStack;

    public FolderBinding(FolderStack folderStack) {
        this.folderStack = folderStack;
    }

    @Override
    public QName getTarget() {
        return KML.Folder;
    }

    @SuppressWarnings("rawtypes")
    @Override
    public Class getType() {
        return SimpleFeature.class;
    }

    @Override
    public int getExecutionMode() {
        return Binding.AFTER;
    }

    @Override
    public void initialize(ElementInstance instance, Node node, MutablePicoContainer context) {
        super.initialize(instance, node, context);
        folderStack.push(new Folder());
    }

    @Override
    public Object parse(ElementInstance instance, Node node, Object value) throws Exception {
        folderStack.pop();
        return value;
    }

}
TOP

Related Classes of org.geotools.kml.bindings.FolderBinding

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.