Package org.joda.money.format
Class MoneyParseContext
java.lang.Object
org.joda.money.format.MoneyParseContext
Context used when parsing money.
This class is mutable and intended for use by a single thread. A new instance is created for each parse.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate BigDecimal
The parsed amount.private CurrencyUnit
The parsed currency.private Locale
The locale to parse using.private CharSequence
The text to parse.private int
The text error index.private int
The text index. -
Constructor Summary
ConstructorsConstructorDescriptionMoneyParseContext
(Locale locale, CharSequence text, int index) Constructor.MoneyParseContext
(Locale locale, CharSequence text, int index, int errorIndex, CurrencyUnit currency, BigDecimal amount) Constructor. -
Method Summary
Modifier and TypeMethodDescription(package private) MoneyParseContext
Creates a child context.Gets the parsed amount.Gets the parsed currency.int
Gets the error index.int
getIndex()
Gets the current parse position index.Gets the locale.getText()
Gets the text being parsed.int
Gets the length of the text being parsed.getTextSubstring
(int start, int end) Gets a substring of the text being parsed.boolean
Checks if the context contains a currency and amount suitable for creating a monetary value.boolean
isError()
Checks if the parse has found an error.boolean
Checks if the text has been fully parsed such that there is no more text to parse.(package private) void
mergeChild
(MoneyParseContext child) Merges the child context back into this instance.void
setAmount
(BigDecimal amount) Sets the parsed currency.void
setCurrency
(CurrencyUnit currency) Sets the parsed currency.void
setError()
Sets the error index from the current index.void
setErrorIndex
(int index) Sets the error index.void
setIndex
(int index) Sets the current parse position index.void
Sets the locale.void
setText
(CharSequence text) Sets the text.Converts the context to aBigMoney
.Converts the indexes to a parse position.
-
Field Details
-
locale
The locale to parse using. -
text
The text to parse. -
textIndex
private int textIndexThe text index. -
textErrorIndex
private int textErrorIndexThe text error index. -
currency
The parsed currency. -
amount
The parsed amount.
-
-
Constructor Details
-
MoneyParseContext
MoneyParseContext(Locale locale, CharSequence text, int index) Constructor.- Parameters:
locale
- the locale, not nulltext
- the text to parse, not nullindex
- the current text index
-
MoneyParseContext
MoneyParseContext(Locale locale, CharSequence text, int index, int errorIndex, CurrencyUnit currency, BigDecimal amount) Constructor.- Parameters:
locale
- the locale, not nulltext
- the text to parse, not nullindex
- the current text indexerrorIndex
- the error indexcurrency
- the currencyamount
- the parsed amount
-
-
Method Details
-
getLocale
Gets the locale.- Returns:
- the locale, not null
-
setLocale
Sets the locale.- Parameters:
locale
- the locale, not null
-
getText
Gets the text being parsed.- Returns:
- the text being parsed, never null
-
setText
Sets the text.- Parameters:
text
- the text being parsed, not null
-
getTextLength
public int getTextLength()Gets the length of the text being parsed.- Returns:
- the length of the text being parsed
-
getTextSubstring
Gets a substring of the text being parsed.- Parameters:
start
- the start indexend
- the end index- Returns:
- the substring, not null
-
getIndex
public int getIndex()Gets the current parse position index.- Returns:
- the current parse position index
-
setIndex
public void setIndex(int index) Sets the current parse position index.- Parameters:
index
- the current parse position index
-
getErrorIndex
public int getErrorIndex()Gets the error index.- Returns:
- the error index, negative if no error
-
setErrorIndex
public void setErrorIndex(int index) Sets the error index.- Parameters:
index
- the error index
-
setError
public void setError()Sets the error index from the current index. -
getCurrency
Gets the parsed currency.- Returns:
- the parsed currency, null if not parsed yet
-
setCurrency
Sets the parsed currency.- Parameters:
currency
- the parsed currency, may be null
-
getAmount
Gets the parsed amount.- Returns:
- the parsed amount, null if not parsed yet
-
setAmount
Sets the parsed currency.- Parameters:
amount
- the parsed amount, may be null
-
isError
public boolean isError()Checks if the parse has found an error.- Returns:
- whether a parse error has occurred
-
isFullyParsed
public boolean isFullyParsed()Checks if the text has been fully parsed such that there is no more text to parse.- Returns:
- true if fully parsed
-
isComplete
public boolean isComplete()Checks if the context contains a currency and amount suitable for creating a monetary value.- Returns:
- true if able to create a monetary value
-
createChild
MoneyParseContext createChild()Creates a child context.- Returns:
- the child context, never null
-
mergeChild
Merges the child context back into this instance.- Parameters:
child
- the child context, not null
-
toParsePosition
Converts the indexes to a parse position.- Returns:
- the parse position, never null
-
toBigMoney
Converts the context to aBigMoney
.- Returns:
- the monetary value, never null
- Throws:
MoneyFormatException
- if either the currency or amount is missing
-