I think purpose of attributes is different, if you want to set some custom attribute to implement custom flow so you can use attribute. These attribute value can be store in any entity or can be used to perform business logic implementation as well.
Like in case of ShoppingCartItem, we set fromInventoryItemId as item attribute and while creation order item we copy this field to OrderItem.fromInventoryItem. And if you want to store attribute in order or item level then you use orderAttributes or orderItemAttributes. Thanks & Regards -- Deepak Dixit www.hotwaxsystems.com On Tue, May 9, 2017 at 10:31 AM, Suraj Khurana < [email protected]> wrote: > Hi Devs, > > I am curious about some protected data members of ShoppingCartItem and > ShoppingCart class. > ShoppingCartItem contains: > > > > *private Map<String, String> orderItemAttributes = null;private Map<String, > Object> attributes = null;* > While ShoppingCart have: > > *private Map<String, String> orderAttributes = FastMap.newInstance();* > *private Map<String, Object> attributes = FastMap.newInstance();* > > I think orderAttributes and orderItemAttributes are pretty clear by the > name itself, what is the actual use of *attributes* data member for each > class. > > Can this be removed and replaced with orderAttribute or orderItemAttribute > itself? > > -- > Thanks and Regards, > Suraj Khurana > Sr. Enterprise Software Engineer > HotWax Systems - The global leader in innovative enterprise commerce > solutions powered by Apache OFBiz. >
