java.lang.Object | +--com.ibm.commerce.price.utils.UnitManager | +--com.ibm.commerce.price.utils.QuantityManager
Quantity Manager.
Field Summary |
---|
Fields inherited from class com.ibm.commerce.price.utils. UnitManager |
ROUND_METHOD_ROUND,
ROUND_METHOD_TRUNCATION |
Fields inherited from interface com.ibm.commerce.registry. Registry |
COPYRIGHT |
Constructor Summary | |
---|---|
protected |
QuantityManager() QuantityManager constructor. |
Method Summary | |
---|---|
protected
boolean |
checkStoreGroupConverter() Do we check that there is a store group level converter? IBM Internal Use Only. |
QuantityAmount |
convert(QuantityAmount aQuantityAmount,
java.lang.String toQuantityUnit) Convert a quantity amount to a new quantity unit. |
protected
java.lang.String |
getClassName() Get the class name. |
protected
java.lang.String |
getConverionRelationshipType() Returns null because there is no measurement conversion type. |
protected
java.lang.Integer[] |
getConversionStorePath(
StoreAccessBean theStoreAB) Gets the conversion store path. |
java.util.List |
getConvertableUnits(java.lang.String aUnit) Get all quantity units that can be converted from/to aUnit. |
java.lang.Double |
getCustomizedRoundingMultiple(
StoreAccessBean aStoreAccessBean, java.lang.String aUnit) Gets the unit to which rounding occurs. |
java.lang.Double |
getCustomizedRoundingMultiple(
StoreAccessBean aStoreAccessBean, java.lang.String aUnit,
java.lang.String aNumberUsage) Gets the unit to which rounding occurs. |
java.lang.String |
getCustomizedString(
StoreAccessBean aStoreAccessBean, java.lang.String aQuantityUnit,
java.lang.Integer aLanguageId) Get the customized string from the format table. |
java.lang.String |
getDescription(
StoreAccessBean aStoreAccessBean, java.lang.String aQuantityUnit,
java.lang.Integer aLanguageId) Get the description of the specified quantity unit. |
protected
java.lang.String |
getFormatRelationshipType() Gets the format relationship type. |
FormattedQuantityAmount |
getFormattedQuantityAmount(QuantityAmount aQuantityAmount,
StoreAccessBean aStoreAccessBean,
java.lang.Integer aLanguageId) Get a formatted quantity amount for display purposes based on the formatting rules defined in the database. |
FormattedQuantityAmount |
getFormattedQuantityAmount(QuantityAmount aQuantityAmount,
StoreAccessBean aStoreAccessBean,
java.lang.Integer aLanguageId, java.lang.String aNumberUsage) Get a formatted quantity amount for display purposes based on the formatting rules defined in the database. |
static
QuantityManager |
getInstance() Get the instance of the quantity manager. |
java.lang.Double |
getRoundingMultiple(
StoreAccessBean aStoreAccessBean, java.lang.String aUnit) Gets the unit to which rounding occurs. |
java.lang.Double |
getRoundingMultiple(
StoreAccessBean aStoreAccessBean, java.lang.String aUnit,
java.lang.String aNumberUsage) Gets the unit to which rounding occurs. |
protected
java.lang.Integer |
getStoreIdForConverter(
StoreAccessBean aStoreAccessBean) Get the store Id to use for converters. |
java.lang.String |
getSymbol(
StoreAccessBean aStoreAccessBean, java.lang.String aQuantityUnit,
java.lang.Integer aLanguageId) Get the quantity symbol information from the quantity format table. |
void |
initialize() Used by the registry manager to initialize the quantity manager. |
java.lang.Double |
parsePositiveAmount(java.lang.String anAmount,
java.lang.String theUnit,
StoreAccessBean aStoreAccessBean,
java.lang.Integer aLanguageId, java.lang.String aNumberUsage) Parses a string (representing a positive number) based on the formatting rules defined in the database. |
void |
round(QuantityAmount aQuantityAmount,
StoreAccessBean aStoreAccessBean) Round the quantity amount to the appropriate number of decimal places. |
void |
round(QuantityAmount aQuantityAmount,
StoreAccessBean aStoreAccessBean,
java.lang.String aNumberUsage) Round the quantity amount to the appropriate number of decimal places. |
void |
roundCustomized(QuantityAmount aQuantityAmount,
StoreAccessBean aStoreAccessBean) Perform customized rounding to the correct number of decimal places. |
void |
roundCustomized(QuantityAmount aQuantityAmount,
StoreAccessBean aStoreAccessBean,
java.lang.String aNumberUsage) Perform customized rounding to the correct number of decimal places. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll,
toString, wait, wait, wait |
Constructor Detail |
---|
protected QuantityManager() throws ECSystemException
Method Detail |
---|
protected boolean checkStoreGroupConverter()
UnitManager
checkStoreGroupConverter
in class
UnitManager
protected java.lang.Integer[] getConversionStorePath(StoreAccessBean theStoreAB) throws ECSystemException
getConversionStorePath
in class
UnitManager
theStoreAB
- The store access bean to use to get the store
path.
ECSystemException
protected java.lang.String getConverionRelationshipType()
getConverionRelationshipType
in class
UnitManager
protected java.lang.String getFormatRelationshipType()
getFormatRelationshipType
in class
UnitManager
public QuantityAmount convert(QuantityAmount aQuantityAmount, java.lang.String toQuantityUnit) throws ECSystemException
aQuantityAmount
- a quantity amount to be converted.toQuantityUnit
- the quantity unit to convert to.null
is returned.
ECSystemException
protected java.lang.String getClassName()
UnitManager
getClassName
in class
UnitManager
public java.util.List getConvertableUnits(java.lang.String aUnit)
aUnit
- the starting quantity unit.public java.lang.Double getCustomizedRoundingMultiple(StoreAccessBean aStoreAccessBean, java.lang.String aUnit) throws ECSystemException
aStoreAccessBean
- the store for which the rounding
applies.aUnit
- the quantity unit for which the rounding applies.
ECSystemException
public java.lang.Double getCustomizedRoundingMultiple(StoreAccessBean aStoreAccessBean, java.lang.String aUnit, java.lang.String aNumberUsage) throws ECSystemException
aStoreAccessBean
- the store for which the rounding
applies.aUnit
- the quantity unit for which the rounding applies.aNumberUsage
- the number usage code.
ECSystemException
public java.lang.String getCustomizedString(StoreAccessBean aStoreAccessBean, java.lang.String aQuantityUnit, java.lang.Integer aLanguageId) throws ECSystemException
aStoreAccessBean
- the store for choosing the customized
string.aQuantityUnit
- the quantity unit for which to choose the
customized string.aLanguageId
- the language Id of the language for the
customized string.
ECSystemException
public java.lang.String getDescription(StoreAccessBean aStoreAccessBean, java.lang.String aQuantityUnit, java.lang.Integer aLanguageId) throws ECSystemException
aStoreAccessBean
- the store that the description applies
to.aQuantityUnit
- the quantity unit that the description is
for.aLanguageId
- the language Id of the language for the
description.
ECSystemException
public FormattedQuantityAmount getFormattedQuantityAmount(QuantityAmount aQuantityAmount, StoreAccessBean aStoreAccessBean, java.lang.Integer aLanguageId) throws ECSystemException
aQuantityAmount
- the quantity amount to format.aStoreAccessBean
- a store.aLanguageId
- a language ID.
ECSystemException
public FormattedQuantityAmount getFormattedQuantityAmount(QuantityAmount aQuantityAmount, StoreAccessBean aStoreAccessBean, java.lang.Integer aLanguageId, java.lang.String aNumberUsage) throws ECSystemException
aQuantityAmount
- the quantity amount to format.aStoreAccessBean
- a store.aLanguageId
- a language ID.aNumberUsage
- the number usage code.
ECSystemException
public static QuantityManager getInstance() throws ECSystemException
ECSystemException
public java.lang.Double getRoundingMultiple(StoreAccessBean aStoreAccessBean, java.lang.String aUnit) throws ECSystemException
aStoreAccessBean
- the store for which the rounding
applies.aUnit
- the quantity unit for which the rounding applies.
ECSystemException
public java.lang.Double getRoundingMultiple(StoreAccessBean aStoreAccessBean, java.lang.String aUnit, java.lang.String aNumberUsage) throws ECSystemException
aStoreAccessBean
- the store for which the rounding
applies.aUnit
- the quantity unit for which the rounding applies.aNumberUsage
- the number usage code.
ECSystemException
protected java.lang.Integer getStoreIdForConverter(StoreAccessBean aStoreAccessBean) throws ECSystemException
getStoreIdForConverter
in class
UnitManager
aStoreAccessBean
- The store access bean.
ECSystemException
public java.lang.String getSymbol(StoreAccessBean aStoreAccessBean, java.lang.String aQuantityUnit, java.lang.Integer aLanguageId) throws ECSystemException
aStoreAccessBean
- the store.aQuantityUnit
- the quantity unit.aLanguageId
- the language Id of the language for the
symbol.
ECSystemException
public void initialize() throws java.lang.Exception
java.lang.Exception
public void round(QuantityAmount aQuantityAmount, StoreAccessBean aStoreAccessBean) throws ECSystemException
aQuantityAmount
- the quantity amount to round.aStoreAccessBean
- the store.
ECSystemException
public void round(QuantityAmount aQuantityAmount, StoreAccessBean aStoreAccessBean, java.lang.String aNumberUsage) throws ECSystemException
round
in class
UnitManager
aQuantityAmount
- the quantity amount to round.aStoreAccessBean
- the store.aNumberUsage
- the number usage code.
ECSystemException
public void roundCustomized(QuantityAmount aQuantityAmount, StoreAccessBean aStoreAccessBean) throws ECSystemException
aQuantityAmount
- the quantity amount to round.aStoreAccessBean
- the store.
ECSystemException
public void roundCustomized(QuantityAmount aQuantityAmount, StoreAccessBean aStoreAccessBean, java.lang.String aNumberUsage) throws ECSystemException
roundCustomized
in class
UnitManager
aQuantityAmount
- the quantity amount to round.aStoreAccessBean
- the store.aNumberUsage
- the number usage code.
ECSystemException
public java.lang.Double parsePositiveAmount(java.lang.String anAmount, java.lang.String theUnit, StoreAccessBean aStoreAccessBean, java.lang.Integer aLanguageId, java.lang.String aNumberUsage) throws ECSystemException, java.text.ParseException
anAmount
- the amount to parse.theUnit
- the unit of the value.aStoreAccessBean
- a store access bean.aLanguageId
- a language ID.aNumberUsage
- The number usage code to use.
ECSystemException
java.text.ParseException