Package org.apache.solr.schema
Class CurrencyValue
- java.lang.Object
 - 
- org.apache.solr.schema.CurrencyValue
 
 
- 
- All Implemented Interfaces:
 Comparable<CurrencyValue>
public class CurrencyValue extends Object implements Comparable<CurrencyValue>
Represents a Currency field value, which includes a long amount and ISO currency code. 
- 
- 
Constructor Summary
Constructors Constructor Description CurrencyValue(long amount, String currencyCode)Constructs a new currency value. 
- 
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description intcompareTo(CurrencyValue o)static longconvertAmount(double exchangeRate, int sourceFractionDigits, long sourceAmount, int targetFractionDigits)Performs a currency conversion & unit conversion.static longconvertAmount(double exchangeRate, String sourceCurrencyCode, long sourceAmount, String targetCurrencyCode)Performs a currency conversion & unit conversion.static longconvertAmount(ExchangeRateProvider exchangeRates, String sourceCurrencyCode, long sourceAmount, String targetCurrencyCode)Performs a currency conversion & unit conversion.CurrencyValueconvertTo(ExchangeRateProvider exchangeRates, String targetCurrencyCode)Returns a new CurrencyValue that is the conversion of this CurrencyValue to the specified currency.longgetAmount()The amount of the CurrencyValue.StringgetCurrencyCode()The ISO currency code of the CurrencyValue.static CurrencyValueparse(String externalVal, String defaultCurrency)Constructs a new currency value by parsing the specific input.StringstrValue()Returns a string representing the currency value such as "3.14,USD" for a CurrencyValue of $3.14 USD.StringtoString() 
 - 
 
- 
- 
Constructor Detail
- 
CurrencyValue
public CurrencyValue(long amount, String currencyCode)Constructs a new currency value.- Parameters:
 amount- The amount.currencyCode- The currency code.
 
 - 
 
- 
Method Detail
- 
parse
public static CurrencyValue parse(String externalVal, String defaultCurrency)
Constructs a new currency value by parsing the specific input.Currency values are expected to be in the format <amount>,<currency code>, for example, "500,USD" would represent 5 U.S. Dollars.
If no currency code is specified, the default is assumed.
- Parameters:
 externalVal- The value to parse.defaultCurrency- The default currency.- Returns:
 - The parsed CurrencyValue.
 
 
- 
getAmount
public long getAmount()
The amount of the CurrencyValue.- Returns:
 - The amount.
 
 
- 
getCurrencyCode
public String getCurrencyCode()
The ISO currency code of the CurrencyValue.- Returns:
 - The currency code.
 
 
- 
convertAmount
public static long convertAmount(ExchangeRateProvider exchangeRates, String sourceCurrencyCode, long sourceAmount, String targetCurrencyCode)
Performs a currency conversion & unit conversion.- Parameters:
 exchangeRates- Exchange rates to apply.sourceCurrencyCode- The source currency code.sourceAmount- The source amount.targetCurrencyCode- The target currency code.- Returns:
 - The converted indexable units after the exchange rate and currency fraction digits are applied.
 
 
- 
convertAmount
public static long convertAmount(double exchangeRate, int sourceFractionDigits, long sourceAmount, int targetFractionDigits)Performs a currency conversion & unit conversion.- Parameters:
 exchangeRate- Exchange rate to apply.sourceFractionDigits- The fraction digits of the source.sourceAmount- The source amount.targetFractionDigits- The fraction digits of the target.- Returns:
 - The converted indexable units after the exchange rate and currency fraction digits are applied.
 
 
- 
convertAmount
public static long convertAmount(double exchangeRate, String sourceCurrencyCode, long sourceAmount, String targetCurrencyCode)Performs a currency conversion & unit conversion.- Parameters:
 exchangeRate- Exchange rate to apply.sourceCurrencyCode- The source currency code.sourceAmount- The source amount.targetCurrencyCode- The target currency code.- Returns:
 - The converted indexable units after the exchange rate and currency fraction digits are applied.
 
 
- 
convertTo
public CurrencyValue convertTo(ExchangeRateProvider exchangeRates, String targetCurrencyCode)
Returns a new CurrencyValue that is the conversion of this CurrencyValue to the specified currency.- Parameters:
 exchangeRates- The exchange rate provider.targetCurrencyCode- The target currency code to convert this CurrencyValue to.- Returns:
 - The converted CurrencyValue.
 
 
- 
strValue
public String strValue()
Returns a string representing the currency value such as "3.14,USD" for a CurrencyValue of $3.14 USD. 
- 
compareTo
public int compareTo(CurrencyValue o)
- Specified by:
 compareToin interfaceComparable<CurrencyValue>
 
 - 
 
 -