com.ibm.commerce.payment.beans
Class PaymentTCInfo

java.lang.Object
  |
  +--com.ibm.commerce.payment.beans.PaymentPolicyInfo
        |
        +--com.ibm.commerce.payment.beans.PaymentTCInfo
All Implemented Interfaces:
java.lang.Cloneable

public class PaymentTCInfo
extends PaymentPolicyInfo

The class PaymentTCInfo is a data holder that is used by the UsablePaymentTCListDataBean to hold information about the PaymentTC and the Payment Policy specified by the PaymentTC.


Fields inherited from class com.ibm.commerce.payment.beans.PaymentPolicyInfo
POLICY_PROP_ATTR_PAGE_NAME, POLICY_PROP_CASSETTE_NAME, POLICY_PROP_CURRENCY_ALLOWED, POLICY_PROP_OFFLINE_METHOD, POLICY_PROP_PROFILE_NAME, POLICY_PROP_USE_WALLET
 
Constructor Summary
PaymentTCInfo(PaymentPolicyInfo policyInfo)
          PaymentTCInfo constructor from a PaymentPolicyInfo object.
PaymentTCInfo(java.lang.String astrTCId, java.lang.String astrTCSubType, java.lang.String astrDisplayName, java.lang.String astrBillToAddrId, BusinessPolicyAccessBean abPolicy, java.lang.String astrPolicyId, java.lang.String astrPolicyName, java.lang.String astrStoreEntityId)
          PaymentTCInfo constructor.
 
Method Summary
 boolean compatibleWith(java.util.Vector vecPaymentTCInfo)
          Check if this PaymentTCInfo is compatible with at least one of the PaymentTCInfo object in the specified Vector of PaymentTCInfo objects.
static PaymentTCInfo createPaymentTCInfoFromAB(TermConditionAccessBean abTC)
          Creates a PaymentTCInfo object from a PaymentTC AccessBean.
static PaymentTCInfo createPaymentTCInfoFromAB(TermConditionAccessBean abTC, java.lang.Integer nLangId)
          Creates a PaymentTCInfo object from a PaymentTC AccessBean and sets all the other fields from the Payment Policy associated with the PaymentTC.
static java.util.Vector findCommonPaymentTCInfo(java.util.Hashtable hshPaymentTCInfoByTradingId, boolean bExcludePoliciesThatRequireExplicitTC)
          Helper method that returns a Vector of common PaymentTCInfo beans from a Hashtable of Vectors of PaymentTCInfo bean keyed by TradingId.
protected static TypedProperty getAttributesFromTC(TermConditionAccessBean abTC)
          Get all the Attributes for the specified PaymentTC.
static java.lang.String getAttrStringFromTC(TermConditionAccessBean abTC)
          Utility method for obtaining the Attributes of the Payment TC in String form (for example, n1=v1&n2=v2&n3=v3......).
protected static java.lang.String getAttrStringFromTypedProperty(TypedProperty prop)
          Get the Payment Attributes in a single String in alphabetical order of the attribute name (for example, n1=v1&n2=v2&n3=v3.....) and separated by '&'.
 java.lang.String getBillToAddressId()
          Returns the ID of the billToAddress specified with this PaymentTC.
static java.lang.String getBillToAddrIdFromTC(TermConditionAccessBean abTC)
          Helper methods that returns ID of the billTo address specified with a PaymentTC.
protected  BusinessPolicyAccessBean getBusinessPolicy()
          Returns the business policy that this PaymentTC is based on.
 java.lang.String getTCAttrString()
          Returns the Attributes of this PaymentTC in String form with each name-value pair separated by '&'.
 java.lang.String getTCDisplayName()
          Returns the display name of this PaymentTC.
 java.lang.String getTCId()
          Returns the ID of this PaymentTC in String.
 java.lang.String getTCSubType()
          Returns the TCSubtype of this PaymentTC.
protected  boolean isSupportedByPaymentPolicy(java.util.Vector paymentPolicyInfo)
          Checks if the PaymentTC represented by this PaymentTCInfo bean is supported by the Payment Policies represented by the specified Vector of PaymentPolicyInfo beans.
protected  void setFieldsFromPolicyAB(BusinessPolicyAccessBean abPolicy, java.lang.Integer nLanguageId)
          Sets the other fields of the bean from the BusinessPolicyAccessBean that represents the Payment Policy object.
protected  void setTCAttrString(java.lang.String strAttributes)
          Sets the TC Attribute-String.
protected  void setTCAttrString(TypedProperty prop)
          Sets the TC Attribute-String using the names and values from the TypedProperty.
 
Methods inherited from class com.ibm.commerce.payment.beans.PaymentPolicyInfo
createFromAccessBean, getAttrPageName, getBrand, getCashierProfile, getCassetteName, getLongDescription, getOfflineMethod, getPaymentAttributes, getPolicyId, getPolicyName, getPolicyType, getShortDescription, getStoreEntityId, getSupportedCurrencies, isNotForDefaultTC, newCopy, requiresExplicitTC, setAccountNumber, setAccountTitle, setAttrPageName, setBrand, setCashierProfile, setCassetteName, setLongDescription, setOfflineMethod, setPaymentAttributes, setPolicyProperties, setShortDescription, setSupportedCurrencies, useWallet
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PaymentTCInfo

public PaymentTCInfo(PaymentPolicyInfo policyInfo)
PaymentTCInfo constructor from a PaymentPolicyInfo object.
Parameters:
policyInfo - the PaymentPolicyInfo object from which the PaymentTCInfo bean is to be created.
See Also:
PaymentPolicyInfo

PaymentTCInfo

public PaymentTCInfo(java.lang.String astrTCId,
                     java.lang.String astrTCSubType,
                     java.lang.String astrDisplayName,
                     java.lang.String astrBillToAddrId,
                     BusinessPolicyAccessBean abPolicy,
                     java.lang.String astrPolicyId,
                     java.lang.String astrPolicyName,
                     java.lang.String astrStoreEntityId)
PaymentTCInfo constructor.
Parameters:
astrTCId - the ID of this PaymentTC. May be an empty string.
astrTCSubType - the PaymentTC subtype. For PaymentTC, the subtype is "PaymentTC".
astrDisplayName - the display name of this PaymentTC.
astrBillToAddrId - the ID of the billto Address. May be an empty string if there is no billto address specified.
abPolicy - the BusinessPolicyAccessBean reprsenting the payment business policy that this PaymentTC is based on.
astrPolicyId - the ID of the payment business policy.
astrPolicyName - the name of the payment business policy.
astrStoreEntityId - the Store Entity ID of the payment business policy.
Method Detail

compatibleWith

public boolean compatibleWith(java.util.Vector vecPaymentTCInfo)
Check if this PaymentTCInfo is compatible with at least one of the PaymentTCInfo object in the specified Vector of PaymentTCInfo objects.
Parameters:
vecPaymentTCInfo - a Vector of PaymentTCInfo objects
Returns:
true if this PaymentTCInfo is compatible with at least one. Otherwise, returns false.

createPaymentTCInfoFromAB

public static PaymentTCInfo createPaymentTCInfoFromAB(TermConditionAccessBean abTC)
                                               throws ECException
Creates a PaymentTCInfo object from a PaymentTC AccessBean.
Parameters:
abTC - the PaymentTCAccessBean from which the PaymentTCInfo bean is to be created.
Returns:
the PaymentTCInfo object

createPaymentTCInfoFromAB

public static PaymentTCInfo createPaymentTCInfoFromAB(TermConditionAccessBean abTC,
                                                      java.lang.Integer nLangId)
                                               throws ECException
Creates a PaymentTCInfo object from a PaymentTC AccessBean and sets all the other fields from the Payment Policy associated with the PaymentTC.
Parameters:
abTC - the PaymentTCAccessBean from which the PaymentTCInfo bean is to be created.
nLangId - the language ID that identifies the language to be used for language-specific fileds.
Returns:
the PaymentTCInfo object.

findCommonPaymentTCInfo

public static java.util.Vector findCommonPaymentTCInfo(java.util.Hashtable hshPaymentTCInfoByTradingId,
                                                       boolean bExcludePoliciesThatRequireExplicitTC)
                                                throws ECException
Helper method that returns a Vector of common PaymentTCInfo beans from a Hashtable of Vectors of PaymentTCInfo bean keyed by TradingId.
Parameters:
hshPaymentTCInfoByTradingIds - the input Hashtable.
Returns:
java.util.Vector
Throws:
ECException. -  

getAttributesFromTC

protected static TypedProperty getAttributesFromTC(TermConditionAccessBean abTC)
                                            throws ECException
Get all the Attributes for the specified PaymentTC. Assumption: All payment attribute values are Strings.
Parameters:
abTC - the TermConditionAccessBean
Returns:
a TypedProperty object containing the names and values of the attributes.
Throws:
ECException. -  

getAttrStringFromTC

public static java.lang.String getAttrStringFromTC(TermConditionAccessBean abTC)
                                            throws ECException
Utility method for obtaining the Attributes of the Payment TC in String form (for example, n1=v1&n2=v2&n3=v3......).
Parameters:
abTC - the PaymentTCAccessBean
Returns:
the attributes in String form.
Throws:
ECException. -  

getAttrStringFromTypedProperty

protected static java.lang.String getAttrStringFromTypedProperty(TypedProperty prop)
Get the Payment Attributes in a single String in alphabetical order of the attribute name (for example, n1=v1&n2=v2&n3=v3.....) and separated by '&'. Note: Attributes with empty value are dropped.
Parameters:
prop - the TypedProperty containing the names and values of the Payment Attributes.
Returns:
the Attribute-String

getBillToAddressId

public java.lang.String getBillToAddressId()
Returns the ID of the billToAddress specified with this PaymentTC. This method returns an empty String if no billTo address is specified.
Returns:
the ID of the billTo address in String form or an empty String.

getBillToAddrIdFromTC

public static java.lang.String getBillToAddrIdFromTC(TermConditionAccessBean abTC)
                                              throws ECException
Helper methods that returns ID of the billTo address specified with a PaymentTC. This method reruns an empty String if no billTo address is specified with the PaymentTC.
Parameters:
abTC - the PaymentTCAccessBean representing the PaymentTC.
Returns:
the ID of the billTo address in String form or an empty String if no billTo address is specified.
Throws:
ECException. -  

getBusinessPolicy

protected BusinessPolicyAccessBean getBusinessPolicy()
Returns the business policy that this PaymentTC is based on.
Returns:
com.ibm.commerce.contract.objects.BusinessPolicyAccessBean

getTCAttrString

public java.lang.String getTCAttrString()
Returns the Attributes of this PaymentTC in String form with each name-value pair separated by '&'. For example, n1=v1&n2=v2&n3=v3......
Returns:
java.lang.String

getTCDisplayName

public java.lang.String getTCDisplayName()
Returns the display name of this PaymentTC.
Returns:
java.lang.String

getTCId

public java.lang.String getTCId()
Returns the ID of this PaymentTC in String.
Returns:
java.lang.String

getTCSubType

public java.lang.String getTCSubType()
Returns the TCSubtype of this PaymentTC. For PaymentTC, the subtype is simply "PaymentTC", same as the TCType.
Returns:
java.lang.String

isSupportedByPaymentPolicy

protected boolean isSupportedByPaymentPolicy(java.util.Vector paymentPolicyInfo)
Checks if the PaymentTC represented by this PaymentTCInfo bean is supported by the Payment Policies represented by the specified Vector of PaymentPolicyInfo beans.

Assumption: the Vector of PaymentPolicyInfo Bean are all from the same Cassette

Parameters:
a - Vector of PaymentPolicyInfo beans representing Payment Policies of the same Cassette.
Returns:
true if the any of the Payment Policies specify the same brand or offlineMethod. This method also returns true if the Payment Policies in question does not specify brand or offlineMethod.

setFieldsFromPolicyAB

protected void setFieldsFromPolicyAB(BusinessPolicyAccessBean abPolicy,
                                     java.lang.Integer nLanguageId)
                              throws ECException
Sets the other fields of the bean from the BusinessPolicyAccessBean that represents the Payment Policy object. These fields include the various properties in the Policy Properties field and the descriptions (both long and short) of the Policy in the specified language. If the PaymentTCInfo bean has a non-empty brand property it will be appended to the end of the descriptions and separated by a hyphen character ("-").

Overrides:
setFieldsFromPolicyAB in class PaymentPolicyInfo
Parameters:
abPolicy - the BusinessPolicyAccessBean representing the Payment Policy object.
nLanguageId - the language ID that identifies the language to be used for language-specific fileds.

setTCAttrString

protected void setTCAttrString(java.lang.String strAttributes)
Sets the TC Attribute-String.
Parameters:
strAttributes - the TC Attributes in name-value pairs separated by '&'. For example, n1=v1&n2=v2&n3=v3......

setTCAttrString

protected void setTCAttrString(TypedProperty prop)
Sets the TC Attribute-String using the names and values from the TypedProperty.

Parameters:
prop - the TypedProperty object containing the names and values of the TC Attributes.