Package net.sf.saxon.trans
Class DecimalSymbols
java.lang.Object
net.sf.saxon.trans.DecimalSymbols
This class is modelled on Java's DecimalFormatSymbols, but it allows the use of any
Unicode character to represent symbols such as the decimal point and the grouping
separator, whereas DecimalFormatSymbols restricts these to a char (1-65535).
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final String[]
static final int
-
Constructor Summary
ConstructorsConstructorDescriptionDecimalSymbols
(HostLanguage language, int languageLevel) Create a DecimalSymbols object with default values for all properties -
Method Summary
Modifier and TypeMethodDescriptionvoid
Check that no character is used in more than one roleboolean
Test if two sets of decimal format symbols are the samevoid
export
(StructuredQName name, ExpressionPresenter out) int
Get the decimal separator valueint
getDigit()
Get the digit symbol valueint
Get the exponent separator symbolint
Get the grouping separator valueGet the infinity symbol valueint
Get the minus sign valuegetNaN()
Get the NaN symbol valueint
Get the pattern separator valueint
Get the percent symbol valueint
Get the per-mille symbol valueint
Get the zero digit symbol valueint
hashCode()
static boolean
isValidZeroDigit
(int zeroDigit) Check that the character declared as a zero-digit is indeed a valid zero-digitvoid
setDecimalSeparator
(String value) Set the character to be used as the decimal separatorvoid
Set the character to be used as the digit symbol (default is '#')void
setExponentSeparator
(String value) Set the character to be used as the exponent separatorvoid
setGroupingSeparator
(String value) Set the character to be used as the grouping separatorvoid
setHostLanguage
(HostLanguage language, int languageLevel) void
setInfinity
(String value) Set the string to be used to represent infinityvoid
setIntProperty
(String name, int value) Set one of the single-character properties.void
setMinusSign
(String value) Set the character to be used as the minus signvoid
Set the string to be used to represent NaNvoid
setPatternSeparator
(String value) Set the character to be used as the pattern separator (default ';')void
setPercent
(String value) Set the character to be used as the percent signvoid
setPerMille
(String value) Set the character to be used as the per-mille signvoid
setProperty
(int key, String value, int precedence) Set the value of a propertyvoid
setZeroDigit
(String value) Set the character to be used as the zero digit (which determines the digit family used in the output)
-
Field Details
-
DECIMAL_SEPARATOR
public static final int DECIMAL_SEPARATOR- See Also:
-
GROUPING_SEPARATOR
public static final int GROUPING_SEPARATOR- See Also:
-
DIGIT
public static final int DIGIT- See Also:
-
MINUS_SIGN
public static final int MINUS_SIGN- See Also:
-
PERCENT
public static final int PERCENT- See Also:
-
PER_MILLE
public static final int PER_MILLE- See Also:
-
ZERO_DIGIT
public static final int ZERO_DIGIT- See Also:
-
EXPONENT_SEPARATOR
public static final int EXPONENT_SEPARATOR- See Also:
-
PATTERN_SEPARATOR
public static final int PATTERN_SEPARATOR- See Also:
-
INFINITY
public static final int INFINITY- See Also:
-
NAN
public static final int NAN- See Also:
-
propertyNames
-
-
Constructor Details
-
DecimalSymbols
Create a DecimalSymbols object with default values for all properties
-
-
Method Details
-
setHostLanguage
-
getDecimalSeparator
public int getDecimalSeparator()Get the decimal separator value- Returns:
- the decimal separator value that has been explicitly set, or its default ('.')
-
getGroupingSeparator
public int getGroupingSeparator()Get the grouping separator value- Returns:
- the grouping separator value that has been explicitly set, or its default (',')
-
getDigit
public int getDigit()Get the digit symbol value- Returns:
- the digit symbol value that has been explicitly set, or its default ('#')
-
getMinusSign
public int getMinusSign()Get the minus sign value- Returns:
- the minus sign value that has been explicitly set, or its default ('-')
-
getPercent
public int getPercent()Get the percent symbol value- Returns:
- the percent symbol value that has been explicitly set, or its default ('%')
-
getPerMille
public int getPerMille()Get the per-mille symbol value- Returns:
- the per-mille symbol value that has been explicitly set, or its default
-
getZeroDigit
public int getZeroDigit()Get the zero digit symbol value- Returns:
- the zero digit symbol value that has been explicitly set, or its default ('0')
-
getExponentSeparator
public int getExponentSeparator()Get the exponent separator symbol- Returns:
- the exponent separator character that has been explicitly set, or its default ('e');
-
getPatternSeparator
public int getPatternSeparator()Get the pattern separator value- Returns:
- the pattern separator value that has been explicitly set, or its default (';')
-
getInfinity
Get the infinity symbol value- Returns:
- the infinity symbol value that has been explicitly set, or its default ('Infinity')
-
getNaN
Get the NaN symbol value- Returns:
- the NaN symbol value that has been explicitly set, or its default ('NaN')
-
setDecimalSeparator
Set the character to be used as the decimal separator- Parameters:
value
- the character to be used- Throws:
XPathException
- if the value is not a single Unicode character (a surrogate pair is permitted)
-
setGroupingSeparator
Set the character to be used as the grouping separator- Parameters:
value
- the character to be used- Throws:
XPathException
- if the value is not a single Unicode character (a surrogate pair is permitted)
-
setDigit
Set the character to be used as the digit symbol (default is '#')- Parameters:
value
- the character to be used- Throws:
XPathException
- if the value is not a single Unicode character (a surrogate pair is permitted)
-
setMinusSign
Set the character to be used as the minus sign- Parameters:
value
- the character to be used- Throws:
XPathException
- if the value is not a single Unicode character (a surrogate pair is permitted)
-
setPercent
Set the character to be used as the percent sign- Parameters:
value
- the character to be used- Throws:
XPathException
- if the value is not a single Unicode character (a surrogate pair is permitted)
-
setPerMille
Set the character to be used as the per-mille sign- Parameters:
value
- the character to be used- Throws:
XPathException
- if the value is not a single Unicode character (a surrogate pair is permitted)
-
setZeroDigit
Set the character to be used as the zero digit (which determines the digit family used in the output)- Parameters:
value
- the character to be used- Throws:
XPathException
- if the value is not a single Unicode character (a surrogate pair is permitted), or if it is not a character classified in Unicode as a digit with numeric value zero
-
setExponentSeparator
Set the character to be used as the exponent separator- Parameters:
value
- the character to be used- Throws:
XPathException
- if the value is not a single Unicode character (a surrogate pair is permitted)
-
setPatternSeparator
Set the character to be used as the pattern separator (default ';')- Parameters:
value
- the character to be used- Throws:
XPathException
- if the value is not a single Unicode character (a surrogate pair is permitted)
-
setInfinity
Set the string to be used to represent infinity- Parameters:
value
- the string to be used- Throws:
XPathException
- - should not happen
-
setNaN
Set the string to be used to represent NaN- Parameters:
value
- the string to be used- Throws:
XPathException
- - should not happen
-
setProperty
Set the value of a property- Parameters:
key
- the integer key of the property to be setvalue
- the value of the property as a string (in many cases, this must be a single character)precedence
- the precedence of the property value- Throws:
XPathException
- if the property is invalid. This method does not check the consistency of different properties. If two different values are supplied for the same property at the same precedence, the method does not complain, but notes the fact, and if the inconsistency is not subsequently cleared by supplying another value at a higher precedence, the error is reported when the checkConsistency() method is subsequently called.
-
setIntProperty
Set one of the single-character properties. Used when reloading an exported package- Parameters:
name
- the name of the propertyvalue
- the Unicode codepoint of the property value
-
export
-
checkConsistency
Check that no character is used in more than one role- Parameters:
name
- the name of the decimal format (null for the unnamed decimal format)- Throws:
XPathException
- if the same character is used in conflicting rules, for example as decimal separator and also as grouping separator
-
isValidZeroDigit
public static boolean isValidZeroDigit(int zeroDigit) Check that the character declared as a zero-digit is indeed a valid zero-digit- Parameters:
zeroDigit
- the value to be checked- Returns:
- false if it is not a valid zero-digit
-
equals
Test if two sets of decimal format symbols are the same -
hashCode
public int hashCode()
-