Package net.sf.saxon.trans
Class DecimalSymbols
- java.lang.Object
- 
- net.sf.saxon.trans.DecimalSymbols
 
- 
 public class DecimalSymbols extends java.lang.ObjectThis 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 SummaryFields Modifier and Type Field Description static intDECIMAL_SEPARATORstatic intDIGITstatic intEXPONENT_SEPARATORstatic intGROUPING_SEPARATORstatic intINFINITYstatic intMINUS_SIGNstatic intNANstatic intPATTERN_SEPARATORstatic intPER_MILLEstatic intPERCENTstatic java.lang.String[]propertyNamesstatic intZERO_DIGIT
 - 
Constructor SummaryConstructors Constructor Description DecimalSymbols(HostLanguage language, int languageLevel)Create a DecimalSymbols object with default values for all properties
 - 
Method SummaryAll Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcheckConsistency(StructuredQName name)Check that no character is used in more than one rolebooleanequals(java.lang.Object obj)Test if two sets of decimal format symbols are the samevoidexport(StructuredQName name, ExpressionPresenter out)intgetDecimalSeparator()Get the decimal separator valueintgetDigit()Get the digit symbol valueintgetExponentSeparator()Get the exponent separator symbolintgetGroupingSeparator()Get the grouping separator valuejava.lang.StringgetInfinity()Get the infinity symbol valueintgetMinusSign()Get the minus sign valuejava.lang.StringgetNaN()Get the NaN symbol valueintgetPatternSeparator()Get the pattern separator valueintgetPercent()Get the percent symbol valueintgetPerMille()Get the per-mille symbol valueintgetZeroDigit()Get the zero digit symbol valueinthashCode()static booleanisValidZeroDigit(int zeroDigit)Check that the character declared as a zero-digit is indeed a valid zero-digitvoidsetDecimalSeparator(java.lang.String value)Set the character to be used as the decimal separatorvoidsetDigit(java.lang.String value)Set the character to be used as the digit symbol (default is '#')voidsetExponentSeparator(java.lang.String value)Set the character to be used as the exponent separatorvoidsetGroupingSeparator(java.lang.String value)Set the character to be used as the grouping separatorvoidsetHostLanguage(HostLanguage language, int languageLevel)voidsetInfinity(java.lang.String value)Set the string to be used to represent infinityvoidsetIntProperty(java.lang.String name, int value)Set one of the single-character properties.voidsetMinusSign(java.lang.String value)Set the character to be used as the minus signvoidsetNaN(java.lang.String value)Set the string to be used to represent NaNvoidsetPatternSeparator(java.lang.String value)Set the character to be used as the pattern separator (default ';')voidsetPercent(java.lang.String value)Set the character to be used as the percent signvoidsetPerMille(java.lang.String value)Set the character to be used as the per-mille signvoidsetProperty(int key, java.lang.String value, int precedence)Set the value of a propertyvoidsetZeroDigit(java.lang.String value)Set the character to be used as the zero digit (which determines the digit family used in the output)
 
- 
- 
- 
Field Detail- 
DECIMAL_SEPARATORpublic static final int DECIMAL_SEPARATOR - See Also:
- Constant Field Values
 
 - 
GROUPING_SEPARATORpublic static final int GROUPING_SEPARATOR - See Also:
- Constant Field Values
 
 - 
DIGITpublic static final int DIGIT - See Also:
- Constant Field Values
 
 - 
MINUS_SIGNpublic static final int MINUS_SIGN - See Also:
- Constant Field Values
 
 - 
PERCENTpublic static final int PERCENT - See Also:
- Constant Field Values
 
 - 
PER_MILLEpublic static final int PER_MILLE - See Also:
- Constant Field Values
 
 - 
ZERO_DIGITpublic static final int ZERO_DIGIT - See Also:
- Constant Field Values
 
 - 
EXPONENT_SEPARATORpublic static final int EXPONENT_SEPARATOR - See Also:
- Constant Field Values
 
 - 
PATTERN_SEPARATORpublic static final int PATTERN_SEPARATOR - See Also:
- Constant Field Values
 
 - 
INFINITYpublic static final int INFINITY - See Also:
- Constant Field Values
 
 - 
NANpublic static final int NAN - See Also:
- Constant Field Values
 
 - 
propertyNamespublic static final java.lang.String[] propertyNames 
 
- 
 - 
Constructor Detail- 
DecimalSymbolspublic DecimalSymbols(HostLanguage language, int languageLevel) Create a DecimalSymbols object with default values for all properties
 
- 
 - 
Method Detail- 
setHostLanguagepublic void setHostLanguage(HostLanguage language, int languageLevel) 
 - 
getDecimalSeparatorpublic int getDecimalSeparator() Get the decimal separator value- Returns:
- the decimal separator value that has been explicitly set, or its default ('.')
 
 - 
getGroupingSeparatorpublic int getGroupingSeparator() Get the grouping separator value- Returns:
- the grouping separator value that has been explicitly set, or its default (',')
 
 - 
getDigitpublic int getDigit() Get the digit symbol value- Returns:
- the digit symbol value that has been explicitly set, or its default ('#')
 
 - 
getMinusSignpublic int getMinusSign() Get the minus sign value- Returns:
- the minus sign value that has been explicitly set, or its default ('-')
 
 - 
getPercentpublic int getPercent() Get the percent symbol value- Returns:
- the percent symbol value that has been explicitly set, or its default ('%')
 
 - 
getPerMillepublic int getPerMille() Get the per-mille symbol value- Returns:
- the per-mille symbol value that has been explicitly set, or its default
 
 - 
getZeroDigitpublic int getZeroDigit() Get the zero digit symbol value- Returns:
- the zero digit symbol value that has been explicitly set, or its default ('0')
 
 - 
getExponentSeparatorpublic int getExponentSeparator() Get the exponent separator symbol- Returns:
- the exponent separator character that has been explicitly set, or its default ('e');
 
 - 
getPatternSeparatorpublic int getPatternSeparator() Get the pattern separator value- Returns:
- the pattern separator value that has been explicitly set, or its default (';')
 
 - 
getInfinitypublic java.lang.String getInfinity() Get the infinity symbol value- Returns:
- the infinity symbol value that has been explicitly set, or its default ('Infinity')
 
 - 
getNaNpublic java.lang.String getNaN() Get the NaN symbol value- Returns:
- the NaN symbol value that has been explicitly set, or its default ('NaN')
 
 - 
setDecimalSeparatorpublic void setDecimalSeparator(java.lang.String value) throws XPathExceptionSet 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)
 
 - 
setGroupingSeparatorpublic void setGroupingSeparator(java.lang.String value) throws XPathExceptionSet 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)
 
 - 
setDigitpublic void setDigit(java.lang.String value) throws XPathExceptionSet 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)
 
 - 
setMinusSignpublic void setMinusSign(java.lang.String value) throws XPathExceptionSet 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)
 
 - 
setPercentpublic void setPercent(java.lang.String value) throws XPathExceptionSet 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)
 
 - 
setPerMillepublic void setPerMille(java.lang.String value) throws XPathExceptionSet 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)
 
 - 
setZeroDigitpublic void setZeroDigit(java.lang.String value) throws XPathExceptionSet 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
 
 - 
setExponentSeparatorpublic void setExponentSeparator(java.lang.String value) throws XPathExceptionSet 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)
 
 - 
setPatternSeparatorpublic void setPatternSeparator(java.lang.String value) throws XPathExceptionSet 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)
 
 - 
setInfinitypublic void setInfinity(java.lang.String value) throws XPathExceptionSet the string to be used to represent infinity- Parameters:
- value- the string to be used
- Throws:
- XPathException- - should not happen
 
 - 
setNaNpublic void setNaN(java.lang.String value) throws XPathExceptionSet the string to be used to represent NaN- Parameters:
- value- the string to be used
- Throws:
- XPathException- - should not happen
 
 - 
setPropertypublic void setProperty(int key, java.lang.String value, int precedence) throws XPathExceptionSet the value of a property- Parameters:
- key- the integer key of the property to be set
- value- 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.
 
 - 
setIntPropertypublic void setIntProperty(java.lang.String name, int value)Set one of the single-character properties. Used when reloading an exported package- Parameters:
- name- the name of the property
- value- the Unicode codepoint of the property value
 
 - 
exportpublic void export(StructuredQName name, ExpressionPresenter out) 
 - 
checkConsistencypublic void checkConsistency(StructuredQName name) throws XPathException 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
 
 - 
isValidZeroDigitpublic 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
 
 - 
equalspublic boolean equals(java.lang.Object obj) Test if two sets of decimal format symbols are the same- Overrides:
- equalsin class- java.lang.Object
- Parameters:
- obj- the other set of symbols
- Returns:
- true if the same characters/strings are assigned to each role in both sets of symbols. The precedences are not compared.
 
 - 
hashCodepublic int hashCode() - Overrides:
- hashCodein class- java.lang.Object
 
 
- 
 
-