org.geotools.styling.StyledLayerDescriptor Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of gt-main Show documentation
Show all versions of gt-main Show documentation
The main module contains the GeoTools public interfaces that are used by
other GeoTools modules (and GeoTools applications). Where possible we make
use industry standard terms as provided by OGC and ISO standards.
The formal GeoTools public api consists of gt-metadata, jts and the gt-main module.
The main module contains the default implementations that are available provided
to other GeoTools modules using our factory system. Factories are obtained from
an appropriate FactoryFinder, giving applications a chance configure the factory
used using the Factory Hints facilities.
FilterFactory ff = CommonFactoryFinder.getFilterFactory();
Expression expr = ff.add( expression1, expression2 );
If you find yourself using implementation specific classes chances are you doing it wrong:
Expression expr = new AddImpl( expression1, expressiom2 );
The newest version!
/*
* 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.styling;
import java.util.List;
/**
* Holds styling information (from a StyleLayerDescriptor document).
*
* This interface is bound to version 1.0 of the SLD specification.
*
*
For many of us in geotools this is the reason we came along for the ride - a pretty picture.
* For documentation on the use of this class please consult the SLD 1.0 specification.
*
*
We may experiment with our own (or SLD 1.1) ideas but will mark such experiments for you. This
* is only an issue of you are considering writing out these objects for interoptability with other
* systems.
*
*
General stratagy for supporting multiple SLD versions (and experiments):
*
*
* - These interfaces will reflect the current published specification
*
- Our implementations will be BIGGER and more capabile then any one specification
*
- We cannot defined explicit interfaces tracking each version until we move to Java 5
* (perferably GeoAPI would hold these anyways)
*
- We can provided javadocs indicating extentions, and isolate these using the normal java
* convention: TextSymbolizer and TextSymbolizer2 (In short you will have to go out of your
* way to work with a hack or experiment, you won't depend on one by accident)
*
- We can use Factories (aka SLD1Factory and SLD1_1Factory and SEFactory) to support the
* creation of conformant datastructures. Code (such as user interfaces) can be parameratized
* with these factories when they need to confirm to an exact version supported by an
* individual service. We hope that specifications are always adative, and will be forced to
* throw unsupported exceptions when functionality is removed from a specification.
*
*
* @author Ian Turton, CCG
* @author James Macgill, CCG
* @author Jody Garnett, Refractions Research
* @version SLD 1.0
* @since GeoTools 2.0
*/
public interface StyledLayerDescriptor {
public StyledLayer[] getStyledLayers();
public void setStyledLayers(StyledLayer[] layers);
public void addStyledLayer(StyledLayer layer);
/**
* Direct access to layers list.
*
* @return Direct access to layers list.
*/
public List layers();
/**
* Getter for property name.
*
* @return Value of property name.
*/
public String getName();
/**
* Setter for property name.
*
* @param name New value of property name.
*/
public void setName(String name);
/**
* Getter for property title.
*
* @return Value of property title.
*/
public String getTitle();
/**
* Setter for property title.
*
* @param title New value of property title.
*/
public void setTitle(String title);
/**
* Getter for property abstractStr.
*
* @return Value of property abstractStr.
*/
public java.lang.String getAbstract();
/**
* Setter for property abstractStr.
*
* @param abstractStr New value of property abstractStr.
*/
public void setAbstract(java.lang.String abstractStr);
/** Used to navigate a Style/SLD. */
void accept(StyleVisitor visitor);
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy