© 2005 BEA Systems, Inc.

com.beasys.commerce.ebusiness.catalog
Class MutableCatalogItemImpl

java.lang.Object
  extended bycom.beasys.commerce.ebusiness.catalog.MutableCatalogItemImpl
All Implemented Interfaces:
CatalogItem, ConfigurableEntity, MutableCatalogItem, Serializable
Direct Known Subclasses:
MutableCategoryImpl, MutableProductItemImpl

public class MutableCatalogItemImpl
extends Object
implements MutableCatalogItem

This is the mutable implementation class for all mutable items contained by the Catalog. This class exposes data accessors and mutators for item data conforming to the Dublin Core Metadata. Refer to the DCM spec for details: Dublin Core Element Set

See Also:
MutableCatalogItem, Serialized Form

Field Summary
 
Fields inherited from interface com.beasys.commerce.ebusiness.catalog.CatalogItem
LARGE_IMAGE_INDEX, LONG_DESCRIPTION_INDEX, MAX_DESCRIPTION, MAX_IMAGES, SHORT_DESCRIPTION_INDEX, SMALL_IMAGE_INDEX
 
Fields inherited from interface com.bea.p13n.property.ConfigurableEntity
RESERVED_PROPERTY_SET
 
Method Summary
 void addBusinessPolicy(String policyKey, BusinessPolicy businessPolicy)
          Add a new business policy to the object with the specified key
 void addPropertyValue(String scopeName, String key, Object propertyValue)
          Add the specified property value to the collection of values associated with the named key for the specified scope.
 void addPropertyValueMapped(String scopeName, String propertyKey, String mappedKey, Object propertyValue)
          Add the specified property value to the map object associated with the named key for the specified scope.
protected  void clearPropertyModifications()
          Clears any changes to attributes that have been tracked for this object.
 BusinessPolicy getBusinessPolicy(String policyKey)
          Retrieve the business policy with the specified key.
 String getContributor()
          Get the contributor for this catalog item
 String getCoverage()
          Get the coverage for this catalog item
 Date getCreationDate()
          Get the creation date for this catalog item
 String getCreator()
          Get the creator for this catalog item
 String getDescription(int index)
          Get the description for this catalog item
 ImageInfo getImage(int index)
          Get an Image for this catalog item
 String getJndiName()
          Retrieve the jndi name for an entity.
 CatalogItemKey getKey()
          Get the primary key for this catalog item
 String getLanguage()
          Get the language for this catalog item
protected  Map getModificationMap()
          Returns the Map that can be used to query the changes made to attributes in this object.
 Date getModifiedDate()
          Get the modified date for this catalog item
 String getName()
          Get the name for this catalog item
 String getPkString()
          Retrieve the pk string for an entity.
 Map getProperties()
           
 Map getProperties(String scopeName)
           
 Object getProperty(String key, Object defaultValue)
          Retrieve the value associated with the named key in the default scope.
 Object getProperty(String propertySet, String propertyName)
          Retrieve the value that was persisted for this entity for the given property, within the given property set.
 Object getProperty(String scopeName, String key, ConfigurableEntity successor, Object defaultValue)
          Retrieve the value associated with the named key in the specified scope.
 String getPropertyAsString(String propertySet, String propertyName)
          Convenience method to return a property as a String.
 String getPropertyAsString(String scopeName, String key, ConfigurableEntity successor, String defaultValue)
          Retrieve the String value of the property associated the named key in the specified scope.
 Object getPropertyDefault(String scopeName, String key, ConfigurableEntity successor)
          Retrieve the default value from the Schema for the named key and the specified scope.
 Object getPropertyNoDefault(String propertySet, String propertyName)
          Retrieve the value associated with the named key in the specified property set, but does not return a default value from the property's PropertyDefinition if a value was not persisted for this entity.
 Object getPropertyNoDefault(String scopeName, String key, ConfigurableEntity successor)
          Retrieve the value associated with the named key in the specified scope but does not return a default value if the property does not exist for the entity of in the hierarchy of successors.
 String getPublisher()
          Get the publisher for this catalog item
 String getRelation()
          Get the relation for this catalog item
 String getRights()
          Get the rights for this catalog item
 String getSource()
          Get the source for this catalog item
 ConfigurableEntity getSuccessor(String scopeName)
          Retrieve the successor associated with this ConfigurableEntity for the specified scope.
 long getUniqueId()
          Retrieve the unique identifier generated for this ConfigurableEntity.
protected  void initPropertyModifications()
          Initialize change tracking.
protected  boolean isPropertyExplicit(String fieldName)
           
protected  boolean isPropertyModified(String fieldName)
           
protected  void modifyProperty(String fieldName, Object value)
          Mark an attribute as modified.
 BusinessPolicy removeBusinessPolicy(String policyKey)
          Remove the business policy with the specified key.
 void removeProperties()
          Remove the property associated with the named key in the specified scope.
 Object removeProperty(String key)
          Remove the property associated with the named key in the default scope.
 Object removeProperty(String propertySet, String propertyName)
          Remove the property associated with the named key in the specified property set.
 Object removePropertyValue(String scopeName, String key, Object propertyValue)
          Remove the property value object from the collection associated with the named key in the specified scope.
 Object removePropertyValueMapped(String scopeName, String propertyKey, String mappedKey)
          Remove the property value object from the map associated with the named key in the specified scope.
 ConfigurableEntity removeSuccessor(String scopeName)
          Remove the successor for the specified scope.
 void setContributor(String contributor)
          Set the contributor for this catalog item
 void setCoverage(String coverage)
          Set the coverage for this catalog item
 void setCreationDate(Date date)
          Set the creation date for this catalog item
 void setCreator(String creator)
          Set the creator for this catalog item
 void setDescription(int index, String description)
          Set the description for this catalog item
 void setImage(int index, ImageInfo imageInfo)
          Set an Image for this catalog item
 void setLanguage(String language)
          Set the language for this catalog item
 void setModifiedDate(Date date)
          Set the modified date for this catalog item
 void setName(String name)
          Set the name for this catalog item
 void setProperty(String key, Object value)
          Associate the specified value with the named key in the default scope.
 void setProperty(String propertySet, String propertyName, Object value)
          Associate the specified value with the named key in the specified property set.
 void setPublisher(String publisher)
          Set the publisher for this catalog item
 void setRelation(String relation)
          Set the relation for this catalog item
 void setRights(String rights)
          Set the rights for this catalog item
 void setSource(String source)
          Set the source for this catalog item
 void setSuccessor(String scopeName, ConfigurableEntity successor)
          Set the successor for the specified scope.
 String toString()
          Builds a string representation of this object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

addBusinessPolicy

public void addBusinessPolicy(String policyKey,
                              BusinessPolicy businessPolicy)
                       throws SystemException,
                              RemoteException
Add a new business policy to the object with the specified key

Throws:
SystemException
RemoteException

addPropertyValue

public void addPropertyValue(String scopeName,
                             String key,
                             Object propertyValue)
                      throws SystemException,
                             RemoteException
Add the specified property value to the collection of values associated with the named key for the specified scope.

Parameters:
scopeName - The name of the scope.
key - The name to associate the collection of values with.
propertyValue - The value to associate with the key and scope.
Throws:
SystemException
RemoteException

addPropertyValueMapped

public void addPropertyValueMapped(String scopeName,
                                   String propertyKey,
                                   String mappedKey,
                                   Object propertyValue)
                            throws SystemException,
                                   RemoteException
Add the specified property value to the map object associated with the named key for the specified scope.

Parameters:
scopeName - The name of the scope.
propertyValue - The value put in the map for the map key.
Throws:
SystemException
RemoteException

clearPropertyModifications

protected void clearPropertyModifications()
Clears any changes to attributes that have been tracked for this object. This is an advanced method.


getBusinessPolicy

public BusinessPolicy getBusinessPolicy(String policyKey)
                                 throws SystemException,
                                        RemoteException
Retrieve the business policy with the specified key.

Throws:
SystemException
RemoteException

getContributor

public String getContributor()
Get the contributor for this catalog item

Specified by:
getContributor in interface CatalogItem
Returns:
the new contributor for the item

getCoverage

public String getCoverage()
Get the coverage for this catalog item

Specified by:
getCoverage in interface CatalogItem
Returns:
the coverage for the item

getCreationDate

public Date getCreationDate()
Get the creation date for this catalog item

Specified by:
getCreationDate in interface CatalogItem
Returns:
the creation date for the item

getCreator

public String getCreator()
Get the creator for this catalog item

Specified by:
getCreator in interface CatalogItem
Returns:
the creator for the item

getDescription

public String getDescription(int index)
Get the description for this catalog item

Specified by:
getDescription in interface CatalogItem
Parameters:
index - the description to retrive, either CatalogItem.SHORT_DESCRIPTION_INDEX or CatalogItem.LONG_DESCRIPTION_INDEX
Returns:
the description for the item

getImage

public ImageInfo getImage(int index)
Get an Image for this catalog item

Specified by:
getImage in interface CatalogItem
Parameters:
index - the image to retrive, either SMALL_IMAGE_INDEX or LARGE_IMAGE_INDEX
Returns:
an ImageInfo object for the image

getJndiName

public String getJndiName()
                   throws RemoteException
Retrieve the jndi name for an entity. A combination of pk string and jndi name is always unique between entities.

Specified by:
getJndiName in interface ConfigurableEntity
Returns:
the jndi name for this entity
Throws:
RemoteException

getKey

public CatalogItemKey getKey()
Get the primary key for this catalog item

Specified by:
getKey in interface CatalogItem
Returns:
the primary key for the item
See Also:
CatalogItemKey

getLanguage

public String getLanguage()
Get the language for this catalog item

Specified by:
getLanguage in interface CatalogItem
Returns:
the language for the item

getModificationMap

protected Map getModificationMap()
Returns the Map that can be used to query the changes made to attributes in this object. The Map contains the names of the attributes that were modifed (keys) and the values for each modified attribute (values). This is an advanced method and is untested.


getModifiedDate

public Date getModifiedDate()
Get the modified date for this catalog item

Specified by:
getModifiedDate in interface CatalogItem
Returns:
the modified date for the item

getName

public String getName()
Get the name for this catalog item

Specified by:
getName in interface CatalogItem
Returns:
the name for the item

getPkString

public String getPkString()
                   throws RemoteException
Retrieve the pk string for an entity. A combination of pk string and jndi name is always unique between entities.

Specified by:
getPkString in interface ConfigurableEntity
Returns:
the primary key string identifier for this entity
Throws:
RemoteException

getProperties

public Map getProperties()
                  throws SystemException,
                         RemoteException
Throws:
SystemException
RemoteException

getProperties

public Map getProperties(String scopeName)
                  throws SystemException,
                         RemoteException
Parameters:
scopeName - The name of the scope.
Throws:
SystemException
RemoteException

getProperty

public Object getProperty(String key,
                          Object defaultValue)
                   throws SystemException,
                          RemoteException
Retrieve the value associated with the named key in the default scope. If the entity does not have the property defined, the property will be searched in the successor hiearchy for the default scope. If the property could not be found in the successor chain, a lookup for the default value defined for the PropertyMetaData in the Schema is returned. The Schema is retrieved using the SchemaGroupName environment property defined for the bean. If the property meta data is not available (or there is no Schema defined) then the specified default value is returned.

Parameters:
key - The name of the property to retrieve.
defaultValue - The value to return if that property is not set and there is not default value found in the Schema.
Throws:
SystemException
RemoteException

getProperty

public Object getProperty(String propertySet,
                          String propertyName)
                   throws RemoteException
Retrieve the value that was persisted for this entity for the given property, within the given property set. If the entity does not have a value persisted for this property, the default value from the property set will be returned.

Specified by:
getProperty in interface ConfigurableEntity
Parameters:
propertySet - The name of the property set to look in
propertyName - The name of the property to retrieve.
Returns:
the value for this property, or null if all searches failed
Throws:
RemoteException

getProperty

public Object getProperty(String scopeName,
                          String key,
                          ConfigurableEntity successor,
                          Object defaultValue)
                   throws SystemException,
                          RemoteException
Retrieve the value associated with the named key in the specified scope. If the entity does not have the property defined for the specified scope, the property will be searched in the successor hiearchy using the explicit successor first and then the successor for the specified scope. If the could not be found in the successors hiearchy, a lookup for default value defined for the PropertyMetaData in the Schema is returned. The Schema is retrieved using the SchemaGroupName environment property defined for the bean. If the property meta data is not available (or there is no Schema defined) then the specified default value is returned.

Parameters:
scopeName - The name of the scope.
key - The name of the property to retrieve.
successor - The explicit successor to use for sucessor hiearchy search if the entity does not have the property defined.
defaultValue - The value to return if that property is not set.
Throws:
SystemException
RemoteException

getPropertyAsString

public String getPropertyAsString(String propertySet,
                                  String propertyName)
                           throws RemoteException
Convenience method to return a property as a String.

Specified by:
getPropertyAsString in interface ConfigurableEntity
Parameters:
propertySet - The name of the property set to look in
propertyName - The name of the property to retrieve.
Returns:
the value for this property as a String, or null if all searches failed
Throws:
RemoteException

getPropertyAsString

public String getPropertyAsString(String scopeName,
                                  String key,
                                  ConfigurableEntity successor,
                                  String defaultValue)
                           throws SystemException,
                                  RemoteException
Retrieve the String value of the property associated the named key in the specified scope.

Parameters:
scopeName - The name of the scope.
key - The name of the property to retrieve.
successor - The explicit successor to use for sucessor hiearchy search if the entity does not have the property defined.
defaultValue - The String to return if that property is not set.
Throws:
SystemException
RemoteException
See Also:
ConfigurableEntity.getProperty(java.lang.String, java.lang.String)

getPropertyDefault

public Object getPropertyDefault(String scopeName,
                                 String key,
                                 ConfigurableEntity successor)
                          throws SystemException,
                                 RemoteException
Retrieve the default value from the Schema for the named key and the specified scope. This method is used by the implementation of the getProperty methods for retrieving the default value for a property from the successor hierarchy.

Parameters:
scopeName - The name of the scope.
key - The name of the property to retrieve.
successor - The explicit successor to use for sucessor hiearchy search if the entity does not have the property defined.
Throws:
SystemException
RemoteException

getPropertyNoDefault

public Object getPropertyNoDefault(String propertySet,
                                   String propertyName)
                            throws RemoteException
Retrieve the value associated with the named key in the specified property set, but does not return a default value from the property's PropertyDefinition if a value was not persisted for this entity. This method is used by the implementation of the getProperty methods so that the search in the successor hierarchy does not return a default value from the Schema.

Specified by:
getPropertyNoDefault in interface ConfigurableEntity
Parameters:
propertySet - The name of the property set
propertyName - The name of the property to retrieve.
Returns:
the value for this property, or null if all searches failed
Throws:
RemoteException

getPropertyNoDefault

public Object getPropertyNoDefault(String scopeName,
                                   String key,
                                   ConfigurableEntity successor)
                            throws SystemException,
                                   RemoteException
Retrieve the value associated with the named key in the specified scope but does not return a default value if the property does not exist for the entity of in the hierarchy of successors. This method is used by the implementation of the getProperty methods so that the search in the successor hierarchy does not return a default value from the Schema.

Parameters:
scopeName - The name of the scope.
key - The name of the property to retrieve.
successor - The explicit successor to use for sucessor hiearchy search if the entity does not have the property defined.
Throws:
SystemException
RemoteException

getPublisher

public String getPublisher()
Get the publisher for this catalog item

Specified by:
getPublisher in interface CatalogItem
Returns:
the publisher for the item

getRelation

public String getRelation()
Get the relation for this catalog item

Specified by:
getRelation in interface CatalogItem
Returns:
the relation for the item

getRights

public String getRights()
Get the rights for this catalog item

Specified by:
getRights in interface CatalogItem
Returns:
the rights for the item

getSource

public String getSource()
Get the source for this catalog item

Specified by:
getSource in interface CatalogItem
Returns:
the source for the item

getSuccessor

public ConfigurableEntity getSuccessor(String scopeName)
                                throws SystemException,
                                       RemoteException
Retrieve the successor associated with this ConfigurableEntity for the specified scope.

Parameters:
scopeName - The name of the scope.
Throws:
SystemException
RemoteException

getUniqueId

public long getUniqueId()
                 throws RemoteException
Retrieve the unique identifier generated for this ConfigurableEntity. The unique identifier is used by the EntityPropertyManager to optimize the foreign keys in the persistent storage. This method may not be implemented in a lightweight implementation of ConfigurableEntity.

Specified by:
getUniqueId in interface ConfigurableEntity
Returns:
this entity's unique id
Throws:
RemoteException

initPropertyModifications

protected void initPropertyModifications()
Initialize change tracking. This is an advanced method.


isPropertyExplicit

protected boolean isPropertyExplicit(String fieldName)
Returns:
true if the named attribute is an explicit property. This is an advanced method.

isPropertyModified

protected boolean isPropertyModified(String fieldName)
Returns:
true if the named attribute has been modified since this object was created or clearPropertyModifications was called. This is an advanced method.

modifyProperty

protected void modifyProperty(String fieldName,
                              Object value)
Mark an attribute as modified. This is an advanced method.

Parameters:
fieldName - the name of the attrbute
value - the new value for the attribute

removeBusinessPolicy

public BusinessPolicy removeBusinessPolicy(String policyKey)
                                    throws SystemException,
                                           RemoteException
Remove the business policy with the specified key.

Throws:
SystemException
RemoteException

removeProperties

public void removeProperties()
                      throws SystemException,
                             RemoteException
Remove the property associated with the named key in the specified scope.

Throws:
SystemException
RemoteException

removeProperty

public Object removeProperty(String key)
                      throws SystemException,
                             RemoteException
Remove the property associated with the named key in the default scope.

Parameters:
key - The name of the property to remove.
Throws:
SystemException
RemoteException

removeProperty

public Object removeProperty(String propertySet,
                             String propertyName)
                      throws RemoteException
Remove the property associated with the named key in the specified property set.

NOTE: if an explicit setter method is found for this property, this method will set the value to null.

Specified by:
removeProperty in interface ConfigurableEntity
Parameters:
propertySet - The name of the property set.
propertyName - The name of the property to remove.
Returns:
the old value of the property, or null if there was none.
Throws:
RemoteException

removePropertyValue

public Object removePropertyValue(String scopeName,
                                  String key,
                                  Object propertyValue)
                           throws SystemException,
                                  RemoteException
Remove the property value object from the collection associated with the named key in the specified scope.

Parameters:
scopeName - The name of the scope.
key - The name of the property that is associated with the collection of values.
propertyValue - The object to remove from the collection.
Throws:
SystemException
RemoteException

removePropertyValueMapped

public Object removePropertyValueMapped(String scopeName,
                                        String propertyKey,
                                        String mappedKey)
                                 throws SystemException,
                                        RemoteException
Remove the property value object from the map associated with the named key in the specified scope.

Parameters:
scopeName - The name of the scope.
Throws:
SystemException
RemoteException

removeSuccessor

public ConfigurableEntity removeSuccessor(String scopeName)
                                   throws RemoteException
Remove the successor for the specified scope.

Parameters:
scopeName - The name of the scope.
Throws:
RemoteException

setContributor

public void setContributor(String contributor)
Set the contributor for this catalog item

Specified by:
setContributor in interface MutableCatalogItem
Parameters:
contributor - the new contributor for the item

setCoverage

public void setCoverage(String coverage)
Set the coverage for this catalog item

Specified by:
setCoverage in interface MutableCatalogItem
Parameters:
coverage - the new coverage for the item

setCreationDate

public void setCreationDate(Date date)
Set the creation date for this catalog item

Specified by:
setCreationDate in interface MutableCatalogItem
Parameters:
date - the new creation date for the item

setCreator

public void setCreator(String creator)
Set the creator for this catalog item

Specified by:
setCreator in interface MutableCatalogItem
Parameters:
creator - the new creator for the item

setDescription

public void setDescription(int index,
                           String description)
Set the description for this catalog item

Specified by:
setDescription in interface MutableCatalogItem
Parameters:
index - the description to set, either CatalogItem.SHORT_DESCRIPTION_INDEX or CatalogItem.LONG_DESCRIPTION_INDEX
description - the new description for the item

setImage

public void setImage(int index,
                     ImageInfo imageInfo)
Set an Image for this catalog item

Specified by:
setImage in interface MutableCatalogItem
Parameters:
index - the image to set, either SMALL_IMAGE_INDEX or LARGE_IMAGE_INDEX
imageInfo - the new image information

setLanguage

public void setLanguage(String language)
Set the language for this catalog item

Specified by:
setLanguage in interface MutableCatalogItem
Parameters:
language - the new language for the item

setModifiedDate

public void setModifiedDate(Date date)
Set the modified date for this catalog item

Specified by:
setModifiedDate in interface MutableCatalogItem
Parameters:
date - the new value

setName

public void setName(String name)
Set the name for this catalog item

Specified by:
setName in interface MutableCatalogItem
Parameters:
name - the name attribute.

setProperty

public void setProperty(String key,
                        Object value)
                 throws SystemException,
                        RemoteException
Associate the specified value with the named key in the default scope.

Parameters:
value - The value to associate with the name.
Throws:
SystemException
RemoteException

setProperty

public void setProperty(String propertySet,
                        String propertyName,
                        Object value)
                 throws PropertyValidationException,
                        RemoteException
Associate the specified value with the named key in the specified property set.

Specified by:
setProperty in interface ConfigurableEntity
Parameters:
propertySet - The name of the property set.
propertyName - The name of the property to assign
value - The value to associate with the property name
Throws:
PropertyValidationException - If the property value does not match the PropertyDefinition for this property set
RemoteException

setPublisher

public void setPublisher(String publisher)
Set the publisher for this catalog item

Specified by:
setPublisher in interface MutableCatalogItem
Parameters:
publisher - the new publisher for the item

setRelation

public void setRelation(String relation)
Set the relation for this catalog item

Specified by:
setRelation in interface MutableCatalogItem
Parameters:
relation - the new relation for the item

setRights

public void setRights(String rights)
Set the rights for this catalog item

Specified by:
setRights in interface MutableCatalogItem
Parameters:
rights - the new rights for the item

setSource

public void setSource(String source)
Set the source for this catalog item

Specified by:
setSource in interface MutableCatalogItem
Parameters:
source - the new source for the item

setSuccessor

public void setSuccessor(String scopeName,
                         ConfigurableEntity successor)
                  throws SystemException,
                         RemoteException
Set the successor for the specified scope.

Parameters:
scopeName - The name of the scope.
successor - The scope-level successor used during the search of a property.
Throws:
SystemException
RemoteException

toString

public String toString()
Builds a string representation of this object.

Returns:
the string

© 2005 BEA Systems, Inc.

Copyright © 2005 BEA Systems, Inc. All Rights Reserved