/*---------------- FILE HEADER ------------------------------------------ This file is part of deegree. Copyright (C) 2001-2007 by: Department of Geography, University of Bonn http://www.giub.uni-bonn.de/deegree/ lat/lon GmbH http://www.lat-lon.de 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; either version 2.1 of the License, or (at your option) any later version. 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. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Contact: Andreas Poth lat/lon GmbH Aennchenstr. 19 53177 Bonn Germany E-Mail: poth@lat-lon.de Prof. Dr. Klaus Greve Department of Geography University of Bonn Meckenheimer Allee 166 53115 Bonn Germany E-Mail: greve@giub.uni-bonn.de ---------------------------------------------------------------------------*/ package org.deegree.igeo.style.model.classification; import java.util.List; import org.deegree.igeo.style.model.DashArray; import org.deegree.igeo.style.model.Fill; import org.deegree.igeo.style.model.SldProperty; import org.deegree.igeo.style.model.Symbol; /** * <code>ThematicGrouping</code> * * @author <a href="mailto:buesching@lat-lon.de">Lyn Buesching</a> * @author last edited by: $Author$ * * @version $Revision$, $Date$ * */ public interface ThematicGrouping<U extends Comparable<U>> { /** * @return the number of classes */ public int getNumberOfClasses(); /** * @param noOfClasses * the number of classes to set */ public void setNoOfClasses( int noOfClasses ); /** * @return the title of the value column */ public String getAttributeHeader(); /** * @param color * the fill color to set */ public void setFillColor( Fill color ); /** * @return the fill color */ public Fill getFillColor(); /** * @param doubleRange * the double range to set for the fill transparency */ public void setFillTransparency( IntegerRange integerRange ); /** * * @return the double range of the fill transparency */ public IntegerRange getFillTransparency(); /** * @param color * the line color to set */ public void setLineColor( Fill color ); /** * @return the line color */ public Fill getLineColor(); /** * @param doubleRange * the double range to set for the line transparency */ public void setLineTransparency( IntegerRange doubleRange ); /** * * @return the double range of the line transparency */ public IntegerRange getLineTransparency(); /** * @param doubleRange * the double range to set for the line width */ public void setLineWidth( DoubleRange doubleRange ); /** * * @return the double range of the line width */ public DoubleRange getLineWidth(); /** * @return the line style */ public DashArray getLineStyle(); /** * @param dashArray * the line style */ public void setLineStyle( DashArray lineStyle ); /** * @return the size */ public DoubleRange getSize(); /** * @param size * the size */ public void setSize( DoubleRange size ); /** * @return the symbol */ public Symbol getSymbol(); /** * @param symbol * the symbol */ public void setSymbol( Symbol symbol ); /** * @return the line cap */ public SldProperty getLineCap(); /** * @param lineCap * the line cap */ public void setLineCap( SldProperty lineCap ); /** * @return * */ public Object getFontColor(); /** * @param fontColor * the font color */ public void setFontColor( Object fontColor ); /** * @return the font family */ public Object getFontFamily(); /** * @param fontFamily * the font family */ public void setFontFamily( Object fontFamily ); /** * @return the font style */ public Object getFontStyle(); /** * @param fontStyle * the font style */ public void setFontStyle( Object fontStyle ); /** * @return the font weight */ public Object getFontWeight(); /** * @param fontWeight * the font weight */ public void setFontWeight( Object fontWeight ); /** * @return the font size */ public Object getFontSize(); /** * @param fontSize * the font size */ public void setFontSize( Object fontSize ); /** * @return the ancor point */ public Object getAnchorPoint(); /** * @param anchor * point the anchor point */ public void setAnchorPoint( Object anchorPoint ); /** * @return the rotation */ public Object getRotation(); /** * @param rotation * the rotation */ public void setRotation( Object rotation ); /** * @return the displacement */ public Object getDisplacement(); /** * @param haloRadius * the halo radius */ public void setHaloRadius( Object haloRadius ); /** * @return the haloRadius */ public Object getHaloRadius(); /** * @param haloColor * the halo color */ public void setHaloColor( Object haloColor ); /** * @return the haloColor */ public Object getHaloColor(); /** * @param displacement * the displacement */ public void setDisplacement( Object displacement ); /** * @return the values and their counts of the classification */ public List<ValueRange<U>> getValues(); /** * data means all single values to classify * * @param data * the data to set */ public void setData( List<Intervallable<U>> data ); /** * @return true, if the classification allows classes with the same min and max value */ public boolean hasSameClassBorders(); /** * @param values * the values to update the count of values. */ public void updateValueCounts( List<ValueRange<U>> values ); /** * @return the number of values which should be classified; -1 if no datas are set */ public int getNumberOfData(); /** * @return the font transparency * */ public Object getFontTransparency(); /** * @param fontTransparency * the font transparency */ public void setFontTransparency( Object fontTransparency ); }