Class ValueFormat
- java.lang.Object
-
- java.text.Format
-
- org.epics.vtype.ValueFormat
-
- All Implemented Interfaces:
Serializable
,Cloneable
- Direct Known Subclasses:
SimpleValueFormat
public abstract class ValueFormat extends Format
Formats a data type to a String representation. This class provide default implementations that can format scalars and arrays to an arbitrary precision and a maximum number of array elements.- Author:
- carcassi
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class java.text.Format
Format.Field
-
-
Constructor Summary
Constructors Constructor Description ValueFormat()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description StringBuffer
format(Object data, StringBuffer toAppendTo, FieldPosition pos)
Formats the given data object.String
format(Array array)
Formats an array.protected abstract StringBuffer
format(Array array, StringBuffer toAppendTo, FieldPosition pos)
Formats an array.String
format(Scalar scalar)
Formats an scalar.protected abstract StringBuffer
format(Scalar scalar, StringBuffer toAppendTo, FieldPosition pos)
Formats a scalar.NumberFormat
getNumberFormat()
Returns the NumberFormat used to format the numeric values.byte
parseByte(String source)
Parses the string and returns a byte representation.org.epics.util.array.ListByte
parseByteArray(String source)
Parses the string and returns a byte array representation.double
parseDouble(String source)
Parses the string and returns a double representation.org.epics.util.array.ListDouble
parseDoubleArray(String source)
Parses the string and returns a double array representation.int
parseEnum(String source, List<String> labels)
Parses the string and returns the index in the enum.org.epics.util.array.ListInteger
parseEnumArray(String source, List<String> labels)
Parses the string and returns an array of indexes in the enum.float
parseFloat(String source)
Parses the string and returns a float representation.org.epics.util.array.ListFloat
parseFloatArray(String source)
Parses the string and returns a float array representation.int
parseInt(String source)
Parses the string and returns an integer representation.org.epics.util.array.ListInteger
parseIntArray(String source)
Parses the string and returns an int array representation.Object
parseObject(String source, ParsePosition pos)
Object
parseObject(String source, VType reference)
Parses the string given the object as a reference.short
parseShort(String source)
Parses the string and returns a short representation.org.epics.util.array.ListShort
parseShortArray(String source)
Parses the string and returns a short array representation.String
parseString(String source)
Parses the string and returns a string representation.List<String>
parseStringArray(String source)
Parses the string and returns a string array representation.void
setNumberFormat(NumberFormat numberFormat)
Changes the NumberFormat used to format the numeric values.-
Methods inherited from class java.text.Format
clone, format, formatToCharacterIterator, parseObject
-
-
-
-
Method Detail
-
format
public StringBuffer format(Object data, StringBuffer toAppendTo, FieldPosition pos)
Formats the given data object. For scalars and arrays redirects to the appropriate methods. For anything else uses Object.toString().
-
format
public String format(Scalar scalar)
Formats an scalar.- Parameters:
scalar
- data object to format- Returns:
- a String representation
-
format
public String format(Array array)
Formats an array.- Parameters:
array
- data object to format- Returns:
- a String representation
-
format
protected abstract StringBuffer format(Scalar scalar, StringBuffer toAppendTo, FieldPosition pos)
Formats a scalar.- Parameters:
scalar
- data object to formattoAppendTo
- output bufferpos
- the field position- Returns:
- the output buffer
-
format
protected abstract StringBuffer format(Array array, StringBuffer toAppendTo, FieldPosition pos)
Formats an array.- Parameters:
array
- data object to formattoAppendTo
- output bufferpos
- the field position- Returns:
- the output buffer
-
getNumberFormat
public NumberFormat getNumberFormat()
Returns the NumberFormat used to format the numeric values. If null, it will use the NumberFormat from the value Display.- Returns:
- a NumberFormat
-
setNumberFormat
public void setNumberFormat(NumberFormat numberFormat)
Changes the NumberFormat used to format the numeric values. If null, it will use the NumberFormat from the value Display.- Parameters:
numberFormat
- a NumberFormat
-
parseObject
public Object parseObject(String source, ParsePosition pos)
- Specified by:
parseObject
in classFormat
-
parseObject
public Object parseObject(String source, VType reference)
Parses the string given the object as a reference.This function will parse the string based on the object provided as a reference (e.g. if reference is a VDouble, it will parse the string as a double). The data in the reference will also be used for the actual parsing (e.g. if reference is Enum, the labels will be used to match the string).
- Parameters:
source
- the text to parsereference
- the vtype object to reference- Returns:
- the parsed representation
-
parseDouble
public double parseDouble(String source)
Parses the string and returns a double representation.Default implementation uses
Double.parseDouble(java.lang.String)
- Parameters:
source
- the text to parse- Returns:
- the parsed representation
-
parseFloat
public float parseFloat(String source)
Parses the string and returns a float representation.Default implementation uses
Float.parseFloat(java.lang.String)
- Parameters:
source
- the text to parse- Returns:
- the parsed representation
-
parseInt
public int parseInt(String source)
Parses the string and returns an integer representation.Default implementation uses
Integer.parseInt(java.lang.String)
- Parameters:
source
- the text to parse- Returns:
- the parsed representation
-
parseShort
public short parseShort(String source)
Parses the string and returns a short representation.Default implementation uses
Short.parseShort(java.lang.String)
- Parameters:
source
- the text to parse- Returns:
- the parsed representation
-
parseByte
public byte parseByte(String source)
Parses the string and returns a byte representation.Default implementation uses
Byte.parseByte(java.lang.String)
- Parameters:
source
- the text to parse- Returns:
- the parsed representation
-
parseString
public String parseString(String source)
Parses the string and returns a string representation.Default implementation returns the string.
- Parameters:
source
- the text to parse- Returns:
- the parsed representation
-
parseEnum
public int parseEnum(String source, List<String> labels)
Parses the string and returns the index in the enum.Default implementation matches the label and returns the index.
- Parameters:
source
- the text to parselabels
- the labels for the enum- Returns:
- the parsed representation
-
parseDoubleArray
public org.epics.util.array.ListDouble parseDoubleArray(String source)
Parses the string and returns a double array representation.Default implementation expects a comma separated list, and parses each element with
parseDouble(java.lang.String)
.- Parameters:
source
- the text to parse- Returns:
- the parsed representation
-
parseFloatArray
public org.epics.util.array.ListFloat parseFloatArray(String source)
Parses the string and returns a float array representation.Default implementation expects a comma separated list, and parses each element with
parseFloat(java.lang.String)
.- Parameters:
source
- the text to parse- Returns:
- the parsed representation
-
parseIntArray
public org.epics.util.array.ListInteger parseIntArray(String source)
Parses the string and returns an int array representation.Default implementation expects a comma separated list, and parses each element with
parseInt(java.lang.String)
.- Parameters:
source
- the text to parse- Returns:
- the parsed representation
-
parseShortArray
public org.epics.util.array.ListShort parseShortArray(String source)
Parses the string and returns a short array representation.Default implementation expects a comma separated list, and parses each element with
parseShort(java.lang.String)
.- Parameters:
source
- the text to parse- Returns:
- the parsed representation
-
parseByteArray
public org.epics.util.array.ListByte parseByteArray(String source)
Parses the string and returns a byte array representation.Default implementation expects a comma separated list, and parses each element with
parseByte(java.lang.String)
.- Parameters:
source
- the text to parse- Returns:
- the parsed representation
-
parseStringArray
public List<String> parseStringArray(String source)
Parses the string and returns a string array representation.Default implementation expects a comma separated list, and parses each element with
parseString(java.lang.String)
.- Parameters:
source
- the text to parse- Returns:
- the parsed representation
-
parseEnumArray
public org.epics.util.array.ListInteger parseEnumArray(String source, List<String> labels)
Parses the string and returns an array of indexes in the enum.Default implementation expects a comma separated list, and parses each element with
parseEnum(java.lang.String, java.util.List)
.- Parameters:
source
- the text to parselabels
- the labels for the enum- Returns:
- the parsed representation
-
-