`

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.

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics