Package org.joda.money.format
Class MoneyParseContext
- java.lang.Object
-
- org.joda.money.format.MoneyParseContext
-
public final class MoneyParseContext extends java.lang.ObjectContext 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
Fields Modifier and Type Field Description private java.math.BigDecimalamountThe parsed amount.private CurrencyUnitcurrencyThe parsed currency.private java.util.LocalelocaleThe locale to parse using.private java.lang.CharSequencetextThe text to parse.private inttextErrorIndexThe text error index.private inttextIndexThe text index.
-
Constructor Summary
Constructors Constructor Description MoneyParseContext(java.util.Locale locale, java.lang.CharSequence text, int index)Constructor.MoneyParseContext(java.util.Locale locale, java.lang.CharSequence text, int index, int errorIndex, CurrencyUnit currency, java.math.BigDecimal amount)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) MoneyParseContextcreateChild()Creates a child context.java.math.BigDecimalgetAmount()Gets the parsed amount.CurrencyUnitgetCurrency()Gets the parsed currency.intgetErrorIndex()Gets the error index.intgetIndex()Gets the current parse position index.java.util.LocalegetLocale()Gets the locale.java.lang.CharSequencegetText()Gets the text being parsed.intgetTextLength()Gets the length of the text being parsed.java.lang.StringgetTextSubstring(int start, int end)Gets a substring of the text being parsed.booleanisComplete()Checks if the context contains a currency and amount suitable for creating a monetary value.booleanisError()Checks if the parse has found an error.booleanisFullyParsed()Checks if the text has been fully parsed such that there is no more text to parse.(package private) voidmergeChild(MoneyParseContext child)Merges the child context back into this instance.voidsetAmount(java.math.BigDecimal amount)Sets the parsed currency.voidsetCurrency(CurrencyUnit currency)Sets the parsed currency.voidsetError()Sets the error index from the current index.voidsetErrorIndex(int index)Sets the error index.voidsetIndex(int index)Sets the current parse position index.voidsetLocale(java.util.Locale locale)Sets the locale.voidsetText(java.lang.CharSequence text)Sets the text.BigMoneytoBigMoney()Converts the context to aBigMoney.java.text.ParsePositiontoParsePosition()Converts the indexes to a parse position.
-
-
-
Field Detail
-
locale
private java.util.Locale locale
The locale to parse using.
-
text
private java.lang.CharSequence text
The text to parse.
-
textIndex
private int textIndex
The text index.
-
textErrorIndex
private int textErrorIndex
The text error index.
-
currency
private CurrencyUnit currency
The parsed currency.
-
amount
private java.math.BigDecimal amount
The parsed amount.
-
-
Constructor Detail
-
MoneyParseContext
MoneyParseContext(java.util.Locale locale, java.lang.CharSequence text, int index)Constructor.- Parameters:
locale- the locale, not nulltext- the text to parse, not nullindex- the current text index
-
MoneyParseContext
MoneyParseContext(java.util.Locale locale, java.lang.CharSequence text, int index, int errorIndex, CurrencyUnit currency, java.math.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 Detail
-
getLocale
public java.util.Locale getLocale()
Gets the locale.- Returns:
- the locale, not null
-
setLocale
public void setLocale(java.util.Locale locale)
Sets the locale.- Parameters:
locale- the locale, not null
-
getText
public java.lang.CharSequence getText()
Gets the text being parsed.- Returns:
- the text being parsed, never null
-
setText
public void setText(java.lang.CharSequence text)
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
public java.lang.String getTextSubstring(int start, int end)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
public CurrencyUnit getCurrency()
Gets the parsed currency.- Returns:
- the parsed currency, null if not parsed yet
-
setCurrency
public void setCurrency(CurrencyUnit currency)
Sets the parsed currency.- Parameters:
currency- the parsed currency, may be null
-
getAmount
public java.math.BigDecimal getAmount()
Gets the parsed amount.- Returns:
- the parsed amount, null if not parsed yet
-
setAmount
public void setAmount(java.math.BigDecimal amount)
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
void mergeChild(MoneyParseContext child)
Merges the child context back into this instance.- Parameters:
child- the child context, not null
-
toParsePosition
public java.text.ParsePosition toParsePosition()
Converts the indexes to a parse position.- Returns:
- the parse position, never null
-
toBigMoney
public BigMoney toBigMoney()
Converts the context to aBigMoney.- Returns:
- the monetary value, never null
- Throws:
MoneyFormatException- if either the currency or amount is missing
-
-