/* * GeoTools - The Open Source Java GIS Toolkit * http://geotools.org * * (C) 2011, Open Source Geospatial Foundation (OSGeo) * (C) 2008, Open Geospatial Consortium Inc. * * All Rights Reserved. http://www.opengis.org/legal/ */ package org.opengis.style; import java.util.List; import org.opengis.annotation.Extension; import org.opengis.annotation.UML; import org.opengis.annotation.XmlElement; import static org.opengis.annotation.Obligation.*; import static org.opengis.annotation.Specification.*; /** * <p>A UserStyle is at the same semantic level as a NamedStyle used in the context of a * WMS. In a sense, a named style can be thought of as a reference to a hidden UserStyle * that is stored inside of a map server.</p> * * * <p>A portrayal catalog consits of a set of feature portrayal objects. Many may * exist for each feature type that may occur in the dataset. each feature object * has assigned a set of portrayal rules.</p> * * This class is a merged between ISO 19117 Portrayal and OGC SLD 1.1.0 * * * @source $URL: http://svn.osgeo.org/geotools/trunk/modules/library/opengis/src/main/java/org/opengis/style/Style.java $ * @version <A HREF="http://www.opengeospatial.org/standards/sld">Implementation specification 1.1.0</A> * * @author Open Geospatial Consortium * @author Johann Sorel (Geomatys) * @since GeoAPI 2.2 */ @UML(identifier="PF_PortrayalCatalog", specification=ISO_19117) @XmlElement("UserStyle") public interface Style { /** * Style name (machine readable, don't show to users) * * @return String, identification name of this style */ @XmlElement("UserStyle") String getName(); /** * Returns the description of this style. * * @return Description with usual informations used * for user interfaces. */ @XmlElement("Description") Description getDescription(); /** * The IsDefault element identifies whether a style is the default style of a layer, for use in * SLD ‘library mode’ when rendering or for storing inside of a map server. IsDefault uses * “1” or “true” for true and “0” or “false” for false. The default value is “0”. */ @XmlElement("IsDefault") boolean isDefault(); /** * Returns a collection of feature type style. * */ @UML(identifier="featurePortrayal", obligation=MANDATORY, specification=ISO_19117) @XmlElement("FeatureTypeStyle") List<? extends FeatureTypeStyle> featureTypeStyles(); /** * Returns the default specification used if no rule return true. * This specification should not use any external functions. * This specification should use at least one spatial attribut. * * @return PortrayalSpecification */ @UML(identifier="defaultPortrayalSpec", obligation=MANDATORY, specification=ISO_19117) Symbolizer getDefaultSpecification(); /** * calls the visit method of a StyleVisitor * * @param visitor the style visitor */ @Extension Object accept(StyleVisitor visitor, Object extraData); }