OrderTools

OrderTools

介紹一些OrderTools的屬性:

orderTypeClassMap:定義一個order的類的類型,比如可能有兩個order的實現類,那麼你可以根據需要去指定默認是哪一個之類的,他是一個properties。

 

orderTypeClassMap+=\
    default=com.commerce.order.OrderImpl,\
    shoppingcart=com.commerce.order.OrderImpl

 在創建order的時候,即OrderTools.createOrder:

 

 

String orderClassName = getOrderTypeClassMap().getProperty(pType);
     if (orderClassName == null) {
     throw new InvalidTypeException(ResourceUtils.getMsgResource("InvalidOrderType", "atg.commerce.order.OrderResources", sResourceBundle));
  }

Order order=(Order)Class.forName(orderClassName).newInstance();
     order = (Order)Class.forName(orderClassName).newInstance();
     if ((order instanceof ChangedProperties)) {
       ((ChangedProperties)order).setSaveAllProperties(true);
 }

 defaultOrderType 指定order type class map哪一個order是默認的:

defaultOrderType=default

 

commerceItemTypeClassMap:創建一個commerceItem的時候,你可以有一個或者多個CommerceItem的類型:

 

commerceItemTypeClassMap=\
			default=com.commerce.order.CommerceItemImpl,\
			configurableCommerceItem=com.commerce.order.ConfigurableCommerceItemImpl,\
			subSkuCommerceItem=atg.commerce.order.SubSkuCommerceItem,\
			variablePriceCommerceItem=com.commerce.order.VariablePriceCommerceItemImpl,\
			childCommerceItem=com.commerce.order.ChildCommerceItemImpl

 defaultCommerceItemType:同理,指定哪一個commerce type是,默認的

 

defaultCommerceItemType=default

 

同理,一下的都是同一個意思

shippingTypeClassMap,defaultShippingGroupType

paymentTypeClassMapdefaultPaymentGroupType

relationshipTypeClassMap

 

beanNameToItemDescriptorMap:

This property maps a bean name to an OrderRepository item descriptor name,比如當保存order的時候,procerssor尋找一個Order Repository 用相同的名字,如果沒有這樣的一個item descriptor被發現,就會從給定的beanNameToItemDescriptorMap 尋找一個,一般情況下,所有的item descriptor都會被影射,格式就是bean name=repository item descriptor:

beanNameToItemDescriptorMap=\
atg.commerce.order.OrderImpl=order,\
atg.commerce.order.CommerceItemImpl=CommerceItem,\
atg.commerce.order.ShippingGroupImpl=shippingGroup,\
atg.commerce.order.HardgoodShippingGroup=hardgoodShippingGroup,\
atg.commerce.order.PaymentGroupImpl=paymentGroup,\
atg.commerce.order.CreditCard=creditCard,\
atg.commerce.order.GiftCertificate=giftCertificate,\
atg.commerce.order.ShippingGroupCommerceItemRelationship=shipItemRel,\
atg.commerce.order.PaymentGroupCommerceItemRelationship=payItemRel,\
atg.commerce.order.PaymentGroupShippingGroupRelationship=payShipRel,\
atg.commerce.order.PaymentGroupOrderRelationship=payOrderRel,\
atg.payment.PaymentStatus=paymentStatus,\
atg.commerce.pricing.OrderPriceInfo=orderPriceInfo,\
atg.commerce.pricing.ItemPriceInfo=itemPriceInfo,\
atg.commerce.pricing.TaxPriceInfo=taxPriceInfo,\
atg.commerce.pricing.ShippingPriceInfo=shippingPriceInfo

 

 當創建Order的時候默認會創建一個空的ShippingGroup 和 PaymentGroup,如果你不希望創建的時候,就有這兩個空的,那麼你可以在OrderTools中通過createDefaultShippingGroup and createDefaultPaymentGroup 屬性去指定設置爲false.

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章