Package org.apache.sis.math
Class StatisticsFormat
- Object
-
- Format
-
- CompoundFormat<T>
-
- TabularFormat<Statistics>
-
- StatisticsFormat
-
- All Implemented Interfaces:
Serializable,Cloneable,Localized
public class StatisticsFormat extends TabularFormat<Statistics>
Formats aStatisticsobject. By default, newly createdStatisticsFormatinstances will format statistical values in a tabular format using spaces as the column separator.Example:Number of values: 8726 Minimum value: 6.853 Maximum value: 8.259 Mean value: 7.421 Root Mean Square: 7.846 Standard deviation: 6.489
Limitations:
- The current implementation can only format features — parsing is not yet implemented.
StatisticsFormat, like mostjava.text.Formatsubclasses, is not thread-safe.
- Since:
- 0.3
- See Also:
Statistics.toString(), Serialized Form
Defined in the
sis-utilitymodule
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class Format
Format.Field
-
-
Field Summary
-
Fields inherited from class TabularFormat
beforeFill, columnSeparator, fillCharacter, lineSeparator, omitTrailingNulls
-
-
Constructor Summary
Constructors Constructor Description StatisticsFormat(Locale locale, Locale headerLocale, TimeZone timezone)Constructs a new format for the given numeric and header locales.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description StatisticsFormatclone()Returns a clone of this format.StringBufferformat(Object object, StringBuffer toAppendTo, FieldPosition pos)Formats the given statistics.voidformat(Statistics[] stats, Appendable toAppendTo)Formats the given statistics in a tabular format.voidformat(Statistics stats, Appendable toAppendTo)Formats a localized string representation of the given statistics.intgetBorderWidth()Returns the "width" of the border to drawn around the table, in number of lines.static StatisticsFormatgetInstance()Returns an instance for the current system default locale.static StatisticsFormatgetInstance(Locale locale)Returns an instance for the given locale.LocalegetLocale(Locale.Category category)Returns the locale for the given category.Class<Statistics>getValueType()Returns the type of objects formatted by this class.booleanisForAllPopulation()Returnstrueif this formatter shall consider that the statistics where computed using the totality of the populations under study.Statisticsparse(CharSequence text, ParsePosition pos)Not yet supported.voidsetBorderWidth(int borderWidth)Sets the "width" of the border to drawn around the table, in number of lines.voidsetForAllPopulation(boolean allPopulation)Sets whether this formatter shall consider that the statistics where computed using the totality of the populations under study.-
Methods inherited from class TabularFormat
getColumnSeparatorMatcher, getColumnSeparatorPattern, getLineSeparator, setColumnSeparatorPattern, setLineSeparator
-
Methods inherited from class CompoundFormat
createFormat, getFormat, getLocale, getTimeZone, parseObject, parseObject
-
Methods inherited from class Format
format, formatToCharacterIterator
-
-
-
-
Constructor Detail
-
StatisticsFormat
public StatisticsFormat(Locale locale, Locale headerLocale, TimeZone timezone)
Constructs a new format for the given numeric and header locales. The timezone is used only if the values added to theStatisticsare dates.- Parameters:
locale- the locale to use for numbers, dates and angles formatting, ornullfor the root locale.headerLocale- the locale for row and column headers. Usually same aslocale.timezone- the timezone, ornullfor UTC.
-
-
Method Detail
-
getInstance
public static StatisticsFormat getInstance()
Returns an instance for the current system default locale.- Returns:
- a statistics format instance for the current default locale.
-
getInstance
public static StatisticsFormat getInstance(Locale locale)
Returns an instance for the given locale.- Parameters:
locale- the locale for which to get aStatisticsFormatinstance.- Returns:
- a statistics format instance for the given locale.
-
getLocale
public Locale getLocale(Locale.Category category)
Returns the locale for the given category. This method implements the following mapping:Locale.Category.DISPLAY— theheaderLocalegiven at construction time.Locale.Category.FORMAT— thelocalegiven at construction time, used for all values below the header row.
- Overrides:
getLocalein classCompoundFormat<Statistics>- Parameters:
category- the category for which a locale is desired.- Returns:
- the locale for the given category (never
null). - Since:
- 0.4
-
getValueType
public final Class<Statistics> getValueType()
Returns the type of objects formatted by this class.- Specified by:
getValueTypein classCompoundFormat<Statistics>- Returns:
Statistics.class
-
isForAllPopulation
public boolean isForAllPopulation()
Returnstrueif this formatter shall consider that the statistics where computed using the totality of the populations under study. This information impacts the standard deviation values to be formatted.- Returns:
trueif the statistics to format where computed using the totality of the populations under study.- See Also:
Statistics.standardDeviation(boolean)
-
setForAllPopulation
public void setForAllPopulation(boolean allPopulation)
Sets whether this formatter shall consider that the statistics where computed using the totality of the populations under study. The default value isfalse.- Parameters:
allPopulation-trueif the statistics to format where computed using the totality of the populations under study.- See Also:
Statistics.standardDeviation(boolean)
-
getBorderWidth
public int getBorderWidth()
Returns the "width" of the border to drawn around the table, in number of lines. The default width is 0, which stands for no border.- Returns:
- the border "width" in number of lines.
-
setBorderWidth
public void setBorderWidth(int borderWidth)
Sets the "width" of the border to drawn around the table, in number of lines. The value can be any of the following:- 0 (the default) for no border
- 1 for single line (
│,─) - 2 for double lines (
║,═)
- Parameters:
borderWidth- the border width, in number of lines.
-
parse
public Statistics parse(CharSequence text, ParsePosition pos) throws ParseException
Not yet supported.- Specified by:
parsein classCompoundFormat<Statistics>- Parameters:
text- the character sequence for the object to parse.pos- the position where to start the parsing. On return, the position where the parsing stopped or where an error occurred.- Returns:
- currently never return.
- Throws:
ParseException- currently always thrown.
-
format
public StringBuffer format(Object object, StringBuffer toAppendTo, FieldPosition pos)
Formats the given statistics. This method will delegates to one of the following methods, depending on the type of the given object:- Overrides:
formatin classCompoundFormat<Statistics>- Parameters:
object- the object to format.toAppendTo- where to format the object.pos- ignored in current implementation.- Returns:
- the given buffer, returned for convenience.
-
format
public void format(Statistics stats, Appendable toAppendTo) throws IOException
Formats a localized string representation of the given statistics. If statistics on differences are associated to the given object, they will be formatted too.- Specified by:
formatin classCompoundFormat<Statistics>- Parameters:
stats- the statistics to format.toAppendTo- where to format the statistics.- Throws:
IOException- if an error occurred while writing to the given appendable.
-
format
public void format(Statistics[] stats, Appendable toAppendTo) throws IOException
Formats the given statistics in a tabular format. This method does not check for the statistics on differences - if such statistics are wanted, they must be included in the given array.- Parameters:
stats- the statistics to format.toAppendTo- where to format the statistics.- Throws:
IOException- if an error occurred while writing to the given appendable.
-
clone
public StatisticsFormat clone()
Returns a clone of this format.- Overrides:
clonein classTabularFormat<Statistics>- Returns:
- a clone of this format.
-
-