Package org.geotools.sld

Source Code of org.geotools.sld.SLDConfiguration

/*
*    GeoTools - The Open Source Java GIS Toolkit
*    http://geotools.org
*
*    (C) 2002-2008, Open Source Geospatial Foundation (OSGeo)
*
*    This library is free software; you can redistribute it and/or
*    modify it under the terms of the GNU Lesser General Public
*    License as published by the Free Software Foundation;
*    version 2.1 of the License.
*
*    This library is distributed in the hope that it will be useful,
*    but WITHOUT ANY WARRANTY; without even the implied warranty of
*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
*    Lesser General Public License for more details.
*/
package org.geotools.sld;

import org.geotools.filter.v1_0.OGCConfiguration;
import org.geotools.sld.bindings.SLD;
import org.geotools.sld.bindings.SLDAbstractBinding;
import org.geotools.sld.bindings.SLDAnchorPointBinding;
import org.geotools.sld.bindings.SLDChannelSelectionBinding;
import org.geotools.sld.bindings.SLDColorMapBinding;
import org.geotools.sld.bindings.SLDColorMapEntryBinding;
import org.geotools.sld.bindings.SLDContrastEnhancementBinding;
import org.geotools.sld.bindings.SLDCssParameterBinding;
import org.geotools.sld.bindings.SLDDisplacementBinding;
import org.geotools.sld.bindings.SLDExtentBinding;
import org.geotools.sld.bindings.SLDExternalGraphicBinding;
import org.geotools.sld.bindings.SLDFeatureTypeConstraintBinding;
import org.geotools.sld.bindings.SLDFeatureTypeStyleBinding;
import org.geotools.sld.bindings.SLDFillBinding;
import org.geotools.sld.bindings.SLDFontBinding;
import org.geotools.sld.bindings.SLDGeometryBinding;
import org.geotools.sld.bindings.SLDGraphicBinding;
import org.geotools.sld.bindings.SLDGraphicFillBinding;
import org.geotools.sld.bindings.SLDGraphicStrokeBinding;
import org.geotools.sld.bindings.SLDHaloBinding;
import org.geotools.sld.bindings.SLDImageOutlineBinding;
import org.geotools.sld.bindings.SLDLabelPlacementBinding;
import org.geotools.sld.bindings.SLDLayerFeatureConstraintsBinding;
import org.geotools.sld.bindings.SLDLegendGraphicBinding;
import org.geotools.sld.bindings.SLDLinePlacementBinding;
import org.geotools.sld.bindings.SLDLineSymbolizerBinding;
import org.geotools.sld.bindings.SLDMarkBinding;
import org.geotools.sld.bindings.SLDNamedLayerBinding;
import org.geotools.sld.bindings.SLDNamedStyleBinding;
import org.geotools.sld.bindings.SLDOnlineResourceBinding;
import org.geotools.sld.bindings.SLDOverlapBehaviorBinding;
import org.geotools.sld.bindings.SLDParameterValueTypeBinding;
import org.geotools.sld.bindings.SLDPerpendicularOffsetBinding;
import org.geotools.sld.bindings.SLDPointPlacementBinding;
import org.geotools.sld.bindings.SLDPointSymbolizerBinding;
import org.geotools.sld.bindings.SLDPolygonSymbolizerBinding;
import org.geotools.sld.bindings.SLDRasterSymbolizerBinding;
import org.geotools.sld.bindings.SLDRemoteOWSBinding;
import org.geotools.sld.bindings.SLDRuleBinding;
import org.geotools.sld.bindings.SLDSelectedChannelTypeBinding;
import org.geotools.sld.bindings.SLDShadedReliefBinding;
import org.geotools.sld.bindings.SLDStrokeBinding;
import org.geotools.sld.bindings.SLDStyledLayerDescriptorBinding;
import org.geotools.sld.bindings.SLDSymbolizerBinding;
import org.geotools.sld.bindings.SLDSymbolizerTypeBinding;
import org.geotools.sld.bindings.SLDTextSymbolizerBinding;
import org.geotools.sld.bindings.SLDTitleBinding;
import org.geotools.sld.bindings.SLDUserLayerBinding;
import org.geotools.sld.bindings.SLDUserStyleBinding;
import org.geotools.sld.bindings.SLDVendorOptionBinding;
import org.geotools.styling.DefaultResourceLocator;
import org.geotools.styling.ResourceLocator;
import org.geotools.styling.StyleFactory;
import org.geotools.styling.StyleFactoryImpl;
import org.geotools.xml.Configuration;
import org.geotools.xml.Parser;
import org.picocontainer.MutablePicoContainer;


/**
* Parser configuration for the Styled Layer Descriptor  schema.
*
* @author Justin Deoliveira, The Open Planning Project
*
*
*
*
* @source $URL$
*/
public class SLDConfiguration extends Configuration {
    /**
     * Adds a dependency on {@link OGCConfiguration}
     */
    public SLDConfiguration() {
        super(SLD.getInstance());

        addDependency(new OGCConfiguration());
    }

    protected void registerBindings(MutablePicoContainer container) {
        //Types
        container.registerComponentImplementation(SLD.PARAMETERVALUETYPE,
            SLDParameterValueTypeBinding.class);
        container.registerComponentImplementation(SLD.SELECTEDCHANNELTYPE,
            SLDSelectedChannelTypeBinding.class);
        container.registerComponentImplementation(SLD.SYMBOLIZERTYPE, SLDSymbolizerTypeBinding.class);

        //Elements
        container.registerComponentImplementation(SLD.ANCHORPOINT, SLDAnchorPointBinding.class);
        container.registerComponentImplementation(SLD.CHANNELSELECTION,
            SLDChannelSelectionBinding.class);
        container.registerComponentImplementation(SLD.COLORMAP, SLDColorMapBinding.class);
        container.registerComponentImplementation(SLD.COLORMAPENTRY, SLDColorMapEntryBinding.class);
        container.registerComponentImplementation(SLD.CONTRASTENHANCEMENT,
            SLDContrastEnhancementBinding.class);
        container.registerComponentImplementation(SLD.CSSPARAMETER, SLDCssParameterBinding.class);
        container.registerComponentImplementation(SLD.DISPLACEMENT, SLDDisplacementBinding.class);

        container.registerComponentImplementation(SLD.EXTENT, SLDExtentBinding.class);
        container.registerComponentImplementation(SLD.EXTERNALGRAPHIC,
            SLDExternalGraphicBinding.class);
        container.registerComponentImplementation(SLD.FEATURETYPECONSTRAINT,
            SLDFeatureTypeConstraintBinding.class);

        container.registerComponentImplementation(SLD.FEATURETYPESTYLE,
            SLDFeatureTypeStyleBinding.class);
        container.registerComponentImplementation(SLD.FILL, SLDFillBinding.class);
        container.registerComponentImplementation(SLD.FONT, SLDFontBinding.class);

        container.registerComponentImplementation(SLD.GEOMETRY, SLDGeometryBinding.class);
        container.registerComponentImplementation(SLD.GRAPHIC, SLDGraphicBinding.class);
        container.registerComponentImplementation(SLD.GRAPHICFILL, SLDGraphicFillBinding.class);
        container.registerComponentImplementation(SLD.GRAPHICSTROKE, SLDGraphicStrokeBinding.class);

        container.registerComponentImplementation(SLD.HALO, SLDHaloBinding.class);

        container.registerComponentImplementation(SLD.IMAGEOUTLINE, SLDImageOutlineBinding.class);

        container.registerComponentImplementation(SLD.LABELPLACEMENT, SLDLabelPlacementBinding.class);

        container.registerComponentImplementation(SLD.LAYERFEATURECONSTRAINTS,
            SLDLayerFeatureConstraintsBinding.class);
        container.registerComponentImplementation(SLD.LEGENDGRAPHIC, SLDLegendGraphicBinding.class);
        container.registerComponentImplementation(SLD.LINEPLACEMENT, SLDLinePlacementBinding.class);
        container.registerComponentImplementation(SLD.LINESYMBOLIZER, SLDLineSymbolizerBinding.class);
        container.registerComponentImplementation(SLD.MARK, SLDMarkBinding.class);

        container.registerComponentImplementation(SLD.NAMEDLAYER, SLDNamedLayerBinding.class);
        container.registerComponentImplementation(SLD.NAMEDSTYLE, SLDNamedStyleBinding.class);

        container.registerComponentImplementation(SLD.ONLINERESOURCE, SLDOnlineResourceBinding.class);

        container.registerComponentImplementation(SLD.OVERLAPBEHAVIOR,
            SLDOverlapBehaviorBinding.class);
        container.registerComponentImplementation(SLD.PERPENDICULAROFFSET,
            SLDPerpendicularOffsetBinding.class);
        container.registerComponentImplementation(SLD.POINTPLACEMENT, SLDPointPlacementBinding.class);
        container.registerComponentImplementation(SLD.POINTSYMBOLIZER,
            SLDPointSymbolizerBinding.class);
        container.registerComponentImplementation(SLD.POLYGONSYMBOLIZER,
            SLDPolygonSymbolizerBinding.class);

        container.registerComponentImplementation(SLD.RASTERSYMBOLIZER,
            SLDRasterSymbolizerBinding.class);

        container.registerComponentImplementation(SLD.REMOTEOWS, SLDRemoteOWSBinding.class);

        container.registerComponentImplementation(SLD.RULE, SLDRuleBinding.class);
        container.registerComponentImplementation(SLD.TITLE, SLDTitleBinding.class);
        container.registerComponentImplementation(SLD.ABSTRACT, SLDAbstractBinding.class);

        container.registerComponentImplementation(SLD.SHADEDRELIEF, SLDShadedReliefBinding.class);

        container.registerComponentImplementation(SLD.STROKE, SLDStrokeBinding.class);
        container.registerComponentImplementation(SLD.STYLEDLAYERDESCRIPTOR,
            SLDStyledLayerDescriptorBinding.class);
        container.registerComponentImplementation(SLD.SYMBOLIZER, SLDSymbolizerBinding.class);
        container.registerComponentImplementation(SLD.TEXTSYMBOLIZER, SLDTextSymbolizerBinding.class);

        container.registerComponentImplementation(SLD.USERLAYER, SLDUserLayerBinding.class);
        container.registerComponentImplementation(SLD.USERSTYLE, SLDUserStyleBinding.class);
       
        container.registerComponentImplementation(SLD.VENDOROPTION, SLDVendorOptionBinding.class);
    }

    /**
     * Configures the sld context.
     * <p>
     * The following factories are registered:
     * <ul>
     * <li>{@link StyleFactoryImpl.class} under {@link StyleFactory.class}
     * </ul>
     * </p>
     */
    protected void configureContext(MutablePicoContainer container) {
        super.configureContext(container);

        container.registerComponentImplementation(StyleFactory.class, StyleFactoryImpl.class);
        container.registerComponentInstance(ResourceLocator.class, new DefaultResourceLocator());
    }
   
    @Override
    protected void configureParser(Parser parser) {
        parser.setHandleMixedContent(true);
    }
}
TOP

Related Classes of org.geotools.sld.SLDConfiguration

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.