com.ibm.pim.catalog
Interface Catalog

All Superinterfaces:
Batchable

public interface Catalog
extends Batchable

Catalogs are repositories or containers for items

Additional optional parameters can be specified for any catalog (Secondary category hierarchy, Linked catalogs, catalogs scripts used for pre and post processing) Catalogs can be linked, allowing attributes to be managed for a single item across multiple catalogs. Catalog views can be customized to personalize how item attributes are presented to a user

Since:
6.0.0
See Also:
CatalogManager

Field Summary
 
Fields inherited from interface com.ibm.pim.common.Batchable
copyright
 
Method Summary
 void addCustomParameterValue(java.lang.String key, java.lang.String value)
          Add the given value to the set of values for the custom parameter with the given name.
 LocationDataConfiguration addLocationDataConfiguration(Hierarchy hierarchy, SecondarySpec spec)
          Adds location specific data for a catalog.
 void addSecondaryHierarchy(Hierarchy hierarchy)
          Add the hierarchy as a secondary hierarchy to this Catalog
 void addSecondaryHierarchy(OrganizationHierarchy orgHierarchy)
          Add the Organization hierarchy as a secondary hierarchy to this Catalog
 boolean containsItem(java.lang.String itemPrimaryKey)
          Identifies if the catalog contains an item with the given primary key.
 Item createItem()
          Create a new item in the Catalog.
 ItemUserDefinedLog createUserDefinedLog(java.lang.String name, boolean runningLog)
          Creates an ItemUserDefinedLog for this Catalog
 VersionInfo createVersion(java.lang.String versionName)
          Create a new version of this Catalog
 View createView(java.lang.String viewName)
          create a new empty View for this catalog
 Schedule deleteAsynchronous()
          Schedules the complete catalog deletion.
 void deleteCustomParameter(java.lang.String name)
          Deletes a User Defined custom parameter for this Catalog
 AccessControlGroup getAccessControlGroup()
          Returns the Access Control Group for this catalog
 PIMCollection<SecondarySpec> getCategorySpecs()
          Return all the "ItemSecondarySpecs" applied in this catalog
 java.util.Collection<ItemCollaborationArea> getCollaborationAreas()
          Return all collaboration areas that have this catalog as their source catalog as prescribe by: Permission.COLLABORATION_AREA_LIST
 java.util.List<java.lang.String> getCustomParameterNames()
          Retrieves a list of user defined custom parameters present in this Catalog
 java.util.List<java.lang.String> getCustomParameterValues(java.lang.String name)
          Retrieves a User Defined custom parameter for this Catalog
 AttributeDefinition getDisplayAttribute()
          Retrieves the Catalog display attribute
 Document getItemBuildScript()
          Retrieves the script document associated with an invocation point defined by the Catalog
 Item getItemByPrimaryKey(java.lang.String primaryKey)
          Retrieve an Item within the catalog using the Item's primary key as a String
 PIMCollection<Item> getItems()
          Retrieve a collection of all of the Items within this Catalog
 java.util.List<Item> getItemsByPrimaryKeys(java.util.List<java.lang.String> primaryKeys)
          Returns a collection of items from this catalog described by their primary keys
 PIMCollection<Item> getItemsWithAttributeValue(java.lang.String attributeInstancePath, java.lang.Object value)
          Returns a collection of items from this catalog where the specified attribute instance has the specified value
 java.util.List<LocationDataConfiguration> getLocationDataConfigurations()
          Retrieves all location specific data for the current catalog.
 java.util.Collection<Hierarchy> getLocationHierarchies()
          Returns a collection of location hierarchies applicable to this Catalog.
 java.lang.String getName()
          Retrieves the Catalog name
 Document getPostSaveScript()
          Retrieves the script document associated with an invocation point defined by the Catalog
 Document getPostScript()
          Retrieves the script document associated with an invocation point defined by the Catalog
 Document getPreScript()
          Retrieves the script document associated with an invocation point defined by the Catalog
 Hierarchy getPrimaryHierarchy()
          Retrieve the primary Hierarchy associated with this Catalog
 ProcessingOptions getProcessingOptions()
          Provide temporary ways to change the default behavior for performance reasons.
 java.util.Collection<Hierarchy> getSecondaryHierarchies()
          Retrieve all secondary Hierarchies associated with this Catalog.
 java.util.Collection<OrganizationHierarchy> getSecondaryOrganizationHierarchies()
          Retrieve all organization Hierarchies associated as secondary hierarchies with this Catalog.
 PrimarySpec getSpec()
          Retrieve the Primary Spec of the Items within this Catalog.
 PIMCollection<Item> getUnassignedItems(Hierarchy hierarchy)
          Returns a collection of items from this catalog belonging to a specific hierarchy which are unassigned to a category
 AttributeCollection getUserDefinedAttributeCollection()
          Retrieves the User Defined Core Attribute Collection for this Catalog
 ItemUserDefinedLog getUserDefinedLog(java.lang.String name)
          Retrieves a specific ItemUserDefinedLog associated with this catalog with a specified name
 java.util.Collection<ItemUserDefinedLog> getUserDefinedLogs()
          Retrieves all ItemUserDefinedLog available in the current context for this Catalog
 VersionInfo getVersionInfo()
          Retrieves version information for this Catalog
 View getView(java.lang.String name)
          retrieve a View on this catalog by name
 java.util.Collection<View> getViews()
          Retrieve all Views on this catalog.
 boolean isItemCheckedOut(java.lang.String itemPrimaryKey)
          Identifies if an item is checked out
 boolean isOrdered()
          Identifies if an item within a catalog is ordered or not
 void link(Catalog catalog, AttributeDefinition sourceAttribute, AttributeDefinition destinationAttribute)
          Links a catalog to another using source and destination attributes.
 void removeLink(AttributeDefinition sourceAttribute)
          Removes an existing link between catalogs.
 void removeSecondaryHierarchy(Hierarchy hierarchy)
          removes a hierarchy from the catalog
 void removeSecondaryHierarchy(OrganizationHierarchy orgHierarchy)
          removes an organization hierarchy from the catalog
 Schedule rollbackAsynchronous(VersionInfo version)
          Schedules a catalog rollback.
 boolean save()
          Persists the catalog to the database.
 void setAccessControlGroup(AccessControlGroup accessControlGroup)
          Sets the Access Control Group for this catalog
 void setDisplayAttribute(AttributeDefinition displayAttribute)
          Describes the Catalog display attribute
 void setItemBuildScript(Document docStoreDoc)
          Describes the location of a script with an invocation point defined by the Catalog
 void setOrdered(boolean setOrdered)
          Changes the catalog to allow ordering or not.
 void setPostSaveScript(Document docStoreDoc)
          Describes the location of a script with an invocation point defined by the Catalog
 void setPostScript(Document docStoreDoc)
          Describes the location of a script with an invocation point defined by the Catalog
 void setPreScript(Document docStoreDoc)
          Describes the location of a script with an invocation point defined by the Catalog
 void setUserDefinedAttributeCollection(AttributeCollection attributeCollection)
          Specifies the User Defined Core Attribute Collection for this Catalog
 
Methods inherited from interface com.ibm.pim.common.Batchable
flushBatch, getBatchProcessingStatistics, startBatchProcessing, stopBatchProcessing
 

Method Detail

addLocationDataConfiguration

LocationDataConfiguration addLocationDataConfiguration(Hierarchy hierarchy,
                                                       SecondarySpec spec)
Adds location specific data for a catalog. Location data is used by customers who have items and other data that only in appear at a particular location. For example, an item is only available at one of several stores or an item which is available at all locations my have price variations which differ depending on the store location.

Parameters:
hierarchy - the hierarchy to be used for location data.
spec - the secondary spec to be used for this location data structure.
Returns:
a LocationDataConfiguration object
Throws:
PIMInternalException - If an internal error occurs
java.lang.IllegalStateException - If the Catalog has not yet been persisted
java.lang.IllegalArgumentException - If any of the passed arguments are null
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_ATTRIBUTES

addSecondaryHierarchy

void addSecondaryHierarchy(Hierarchy hierarchy)
Add the hierarchy as a secondary hierarchy to this Catalog

Parameters:
hierarchy - The secondary hierarchy
Throws:
PIMInternalException - If an internal error occurs
java.lang.IllegalArgumentException - If the passed argument is null
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_ATTRIBUTES

addSecondaryHierarchy

void addSecondaryHierarchy(OrganizationHierarchy orgHierarchy)
Add the Organization hierarchy as a secondary hierarchy to this Catalog

Parameters:
orgHierarchy - The secondary organization hierarchy
Throws:
PIMInternalException - If an internal error occurs
java.lang.IllegalArgumentException - If the passed argument is null
java.lang.IllegalStateException - if the API object passed as a parameter has not yet been saved.
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_ATTRIBUTES

containsItem

boolean containsItem(java.lang.String itemPrimaryKey)
Identifies if the catalog contains an item with the given primary key.

Parameters:
itemPrimaryKey - the item primary key
Returns:
true if item exists otherwise false
Throws:
PIMInternalException - If an internal error occurs
java.lang.IllegalArgumentException - If the passed argument is null or empty
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_VIEW_ITEMS

createItem

Item createItem()
Create a new item in the Catalog.

Returns:
the newly created Item object
Throws:
PIMInternalException - If an internal error occurs
java.lang.IllegalStateException - If the Catalog has not yet been persisted
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_ADD_ITEMS

createVersion

VersionInfo createVersion(java.lang.String versionName)
Create a new version of this Catalog

Parameters:
versionName - The name of the version
Returns:
a VersionInfo object
Throws:
PIMInternalException - If an internal error occurs
java.lang.IllegalStateException - If the Catalog has not yet been persisted
java.lang.IllegalArgumentException - If the passed argument is null or empty
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_ATTRIBUTES

deleteAsynchronous

Schedule deleteAsynchronous()
Schedules the complete catalog deletion. The Scheduled Job is run immediately and it's progress can be monitored, via the returned Schedule Object. Please note that subsequent to calling this method the Catalog object becomes invalid and should be retrieved again after the Scheduled Job has completed.

Returns:
A Job Schedule
Throws:
PIMInternalException - If an internal error occurs
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_DELETE

deleteCustomParameter

void deleteCustomParameter(java.lang.String name)
Deletes a User Defined custom parameter for this Catalog

Parameters:
name - the name of the parameter to be deletes
Throws:
PIMInternalException - If the custom parameter does not exist or an internal error occurs
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_ATTRIBUTES
See Also:
getUserDefinedAttributeCollection()

getAccessControlGroup

AccessControlGroup getAccessControlGroup()
Returns the Access Control Group for this catalog

Returns:
Access Control Group for this catalog
Throws:
PIMInternalException - If an internal error occurs
java.lang.IllegalArgumentException - If the passed argument is null or empty
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_ATTRIBUTES

getCategorySpecs

PIMCollection<SecondarySpec> getCategorySpecs()
Return all the "ItemSecondarySpecs" applied in this catalog

Returns:
a PIMCollection of Specs. Please note this is a lazily instantiated collection
Throws:
PIMInternalException - If an internal error occurs
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_ATTRIBUTES
See Also:
for more info

getItems

PIMCollection<Item> getItems()
Retrieve a collection of all of the Items within this Catalog

Returns:
a PIMCollection of Item objects, or an empty PIMCollection if no items exist in this Catalog. Please note this is a lazily instantiated collection
Throws:
PIMInternalException - If an internal error occurs
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_VIEW_ITEMS
See Also:
for more info

getCollaborationAreas

java.util.Collection<ItemCollaborationArea> getCollaborationAreas()
Return all collaboration areas that have this catalog as their source catalog as prescribe by: Permission.COLLABORATION_AREA_LIST

Returns:
Collection A Collection of collaboration areas
Throws:
PIMInternalException - If there an internal error occurs or if specific details cannot be retrieved
PIMAuthorizationException - reserved for future use

getCustomParameterValues

java.util.List<java.lang.String> getCustomParameterValues(java.lang.String name)
Retrieves a User Defined custom parameter for this Catalog

Parameters:
name - the name of the parameter to be retrieved
Returns:
A list of values.
Throws:
PIMInternalException - If an internal error occurs
java.lang.IllegalArgumentException - If the passed argument is null or empty
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_ATTRIBUTES
See Also:
getUserDefinedAttributeCollection()

getCustomParameterNames

java.util.List<java.lang.String> getCustomParameterNames()
Retrieves a list of user defined custom parameters present in this Catalog

Returns:
a list of user defined parameters.
Throws:
PIMInternalException - If an internal error occurs
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_ATTRIBUTES

getDisplayAttribute

AttributeDefinition getDisplayAttribute()
Retrieves the Catalog display attribute

Returns:
the AttributeDefinition object for the display attribute on this Catalog
Throws:
PIMInternalException - If an internal error occurs
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_ATTRIBUTES

getItemBuildScript

Document getItemBuildScript()
Retrieves the script document associated with an invocation point defined by the Catalog

Returns:
the post script Document object for this catalog
Throws:
PIMInternalException - If an internal error occurs
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_ATTRIBUTES

getItemByPrimaryKey

Item getItemByPrimaryKey(java.lang.String primaryKey)
Retrieve an Item within the catalog using the Item's primary key as a String

Parameters:
primaryKey - String containing the primary key of the item
Returns:
the Item object with the matching key, or null if there is no Item with this primary key
Throws:
PIMInternalException - If an internal error occurs
java.lang.IllegalArgumentException - If the passed argument is null or empty
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_VIEW_ITEMS

getItemsByPrimaryKeys

java.util.List<Item> getItemsByPrimaryKeys(java.util.List<java.lang.String> primaryKeys)
Returns a collection of items from this catalog described by their primary keys

Parameters:
primaryKeys - An List of String keys
Returns:
A collection of items
Throws:
PIMInternalException - If an internal error occurs
java.lang.IllegalArgumentException - If the passed argument is null
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_VIEW_ITEMS

getItemsWithAttributeValue

PIMCollection<Item> getItemsWithAttributeValue(java.lang.String attributeInstancePath,
                                               java.lang.Object value)
Returns a collection of items from this catalog where the specified attribute instance has the specified value

Parameters:
attributeInstancePath - - the attribute instance to be inspected
value - - the value of the attribute instance to be matched
Returns:
A PIMCollection of items. Please note this is a lazily instantiated collection
Throws:
PIMInternalException - If an internal error occurs. One reason that this exception is thrown is if the attributeInstancePath does not specify a valid path. This exception will also be thrown if the value is not of a valid data type.
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_VIEW_ITEMS
java.lang.IllegalArgumentException - If the passed arguments are null or empty
See Also:
for more info

getLocationDataConfigurations

java.util.List<LocationDataConfiguration> getLocationDataConfigurations()
Retrieves all location specific data for the current catalog.

Returns:
an List of LocationDataConfiguration objects.
Throws:
PIMInternalException - If an internal error occurs
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_ATTRIBUTES

getLocationHierarchies

java.util.Collection<Hierarchy> getLocationHierarchies()
Returns a collection of location hierarchies applicable to this Catalog. Only the Hierarchies that the user has access to are returned as prescribed by Permission.HIERARCHY_LIST

Returns:
a collection of hierarchies
Throws:
PIMInternalException - If an internal error occurs
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_ATTRIBUTES

getName

java.lang.String getName()
Retrieves the Catalog name

Returns:
the catalog name
Throws:
PIMInternalException - If an internal error occurs

getPostSaveScript

Document getPostSaveScript()
Retrieves the script document associated with an invocation point defined by the Catalog

Returns:
the post script Document object for this catalog
Throws:
PIMInternalException - If an internal error occurs
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_ATTRIBUTES

getPostScript

Document getPostScript()
Retrieves the script document associated with an invocation point defined by the Catalog

Returns:
the post script Document object for this catalog
Throws:
PIMInternalException - If an internal error occurs
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_ATTRIBUTES

getPreScript

Document getPreScript()
Retrieves the script document associated with an invocation point defined by the Catalog

Returns:
the post script Document object for this catalog
Throws:
PIMInternalException - If an internal error occurs
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_ATTRIBUTES

getPrimaryHierarchy

Hierarchy getPrimaryHierarchy()
Retrieve the primary Hierarchy associated with this Catalog

Returns:
the primary Hierarchy object associated with this Catalog
Throws:
PIMInternalException - If an internal error occurs
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_ATTRIBUTES

getProcessingOptions

ProcessingOptions getProcessingOptions()
Provide temporary ways to change the default behavior for performance reasons.

Returns:
processingOptions specific for a catalog
Throws:
PIMInternalException - If an internal error occurs
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_MODIFY_ITEMS Permission.CATALOG_ADD_ITEMS Permission.CATALOG_DELETE_ITEMS

getSecondaryHierarchies

java.util.Collection<Hierarchy> getSecondaryHierarchies()
Retrieve all secondary Hierarchies associated with this Catalog. Only the Hierarchies that the user has access to are returned as prescribed by Permission.HIERARCHY_LIST

Returns:
a Collection of Hierarchy objects.
Throws:
PIMInternalException - If an internal error occurs
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_ATTRIBUTES

getSecondaryOrganizationHierarchies

java.util.Collection<OrganizationHierarchy> getSecondaryOrganizationHierarchies()
Retrieve all organization Hierarchies associated as secondary hierarchies with this Catalog. Only the organization hierarchies that user has access to are returned as prescribed by Permission.HIERARCHY_LIST

Returns:
a Collection of Organization Hierarchy objects.
Throws:
PIMInternalException - If an internal error occurs
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_ATTRIBUTES

getSpec

PrimarySpec getSpec()
Retrieve the Primary Spec of the Items within this Catalog.

Returns:
The Primary Spec for the Items within this Catalog
Throws:
PIMInternalException - If an internal error occurs
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_ATTRIBUTES

getUnassignedItems

PIMCollection<Item> getUnassignedItems(Hierarchy hierarchy)
Returns a collection of items from this catalog belonging to a specific hierarchy which are unassigned to a category

Parameters:
hierarchy - The hierarchy object
Returns:
A PIMCollection of items, which will be empty if no items in that hierarchy are unassigned Please note this is a lazily instantiated collection
Throws:
PIMInternalException - If an internal error occurs
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_VIEW_ITEMS
java.lang.IllegalArgumentException - If the passed argument is null
See Also:
for more info

getUserDefinedAttributeCollection

AttributeCollection getUserDefinedAttributeCollection()
Retrieves the User Defined Core Attribute Collection for this Catalog

Returns:
the attribute collection.
Throws:
PIMInternalException - If an internal error occurs
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_ATTRIBUTES

getVersionInfo

VersionInfo getVersionInfo()
Retrieves version information for this Catalog

Returns:
a VersionInfo object representing the latest catalog version
Throws:
PIMInternalException - If an internal error occurs
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_ATTRIBUTES

isItemCheckedOut

boolean isItemCheckedOut(java.lang.String itemPrimaryKey)
Identifies if an item is checked out

Parameters:
itemPrimaryKey - the item primary key to search on
Returns:
if the item exists in this catalog and is checked out to one or more collaboration areas, this returns true, otherwise returns false
Throws:
PIMInternalException - If an internal error occurs
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_VIEW_ITEMS
java.lang.IllegalArgumentException - If the passed argument is null or empty

isOrdered

boolean isOrdered()
Identifies if an item within a catalog is ordered or not

Returns:
true if the catalog is set for ordering otherwise false
Throws:
PIMInternalException - If an internal error occurs
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_ATTRIBUTES

link

void link(Catalog catalog,
          AttributeDefinition sourceAttribute,
          AttributeDefinition destinationAttribute)
Links a catalog to another using source and destination attributes. The source catalog is the current catalog object

Parameters:
catalog - the destination catalog
sourceAttribute - The source attribute to link from.
destinationAttribute - The destination attribute to link to.
Throws:
java.lang.IllegalStateException - If the object is in an invalid state
java.lang.IllegalArgumentException - If any of the arguments are null
PIMInternalException - If an internal error occurs
PIMAuthorizationException - Reserved for future use

removeLink

void removeLink(AttributeDefinition sourceAttribute)
Removes an existing link between catalogs.

Parameters:
sourceAttribute - The source attribute of the link.
Throws:
java.lang.IllegalArgumentException - If sourceAttribute argument is null
PIMInternalException - If an internal error occurs
PIMAuthorizationException - Reserved for future use

removeSecondaryHierarchy

void removeSecondaryHierarchy(OrganizationHierarchy orgHierarchy)
removes an organization hierarchy from the catalog

Parameters:
orgHierarchy - the organization hierarchy to remove. If the organization hierarchy is currently not associated with the catalog as a secondary hierarchy, then this method will have no effect.
Throws:
PIMInternalException - If an internal error occurs
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_ATTRIBUTES
java.lang.IllegalArgumentException - If the passed argument is null
java.lang.IllegalStateException - if the API object passed as a parameter has not yet been saved.

removeSecondaryHierarchy

void removeSecondaryHierarchy(Hierarchy hierarchy)
removes a hierarchy from the catalog

Parameters:
hierarchy - the hierarchy to remove if this is not part of the getHierarchies list, this will have no effect
Throws:
PIMInternalException - If an internal error occurs
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_ATTRIBUTES
java.lang.IllegalArgumentException - If the passed argument is null

rollbackAsynchronous

Schedule rollbackAsynchronous(VersionInfo version)
Schedules a catalog rollback. The Scheduled Job is run immediately and it's progress can be monitored, via the returned Schedule Object. Please note that subsequent to calling this method the Catalog object becomes invalid and should be retrieved again after the Scheduled Job has completed. The passed version must be valid for this catalog and be a version prior to the currently loaded version. Not a roll forward

Parameters:
version - the Version object of the catalog to use
Returns:
A Schedule or null if the version passed in does not correspond to the Catalog or is not prior to the current version
Throws:
PIMInternalException - If an internal error occurs
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_ROLLBACK

setAccessControlGroup

void setAccessControlGroup(AccessControlGroup accessControlGroup)
Sets the Access Control Group for this catalog

Parameters:
accessControlGroup - Access Control Group for this catalog
Throws:
PIMInternalException - If an internal error occurs
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_ATTRIBUTES
java.lang.IllegalArgumentException - If the passed argument is null

save

boolean save()
Persists the catalog to the database.

Throws:
PIMInternalException - If an internal error occurs
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_ATTRIBUTES

addCustomParameterValue

void addCustomParameterValue(java.lang.String key,
                             java.lang.String value)
Add the given value to the set of values for the custom parameter with the given name. If the custom parameter does not exist, it is created.

Parameters:
key - the reference.
value - the value of the attribute.
Throws:
PIMInternalException - If an internal error occurs
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_ATTRIBUTES
java.lang.IllegalArgumentException - If any of the passed arguments are null or empty

setDisplayAttribute

void setDisplayAttribute(AttributeDefinition displayAttribute)
Describes the Catalog display attribute

Parameters:
displayAttribute - the AttributeDefinition defining the attribute to be used as display attribute.
Throws:
PIMInternalException - If an internal error occurs
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_ATTRIBUTES
java.lang.IllegalArgumentException - If the passed argument is null

setItemBuildScript

void setItemBuildScript(Document docStoreDoc)
Describes the location of a script with an invocation point defined by the Catalog

Parameters:
docStoreDoc - the post script document for this catalog
Throws:
PIMInternalException - If an internal error occurs
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_ATTRIBUTES
java.lang.IllegalArgumentException - If the passed argument is null

setOrdered

void setOrdered(boolean setOrdered)
Changes the catalog to allow ordering or not.

Parameters:
setOrdered - set true to allow ordering other wise false
Throws:
PIMInternalException - If an internal error occurs
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_ATTRIBUTES

setPostSaveScript

void setPostSaveScript(Document docStoreDoc)
Describes the location of a script with an invocation point defined by the Catalog

Parameters:
docStoreDoc - the post script document for this catalog
Throws:
PIMInternalException - If an internal error occurs
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_ATTRIBUTES
java.lang.IllegalArgumentException - If the passed argument is null

setPostScript

void setPostScript(Document docStoreDoc)
Describes the location of a script with an invocation point defined by the Catalog

Parameters:
docStoreDoc - the post script document for this catalog
Throws:
PIMInternalException - If an internal error occurs
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_ATTRIBUTES
java.lang.IllegalArgumentException - If the passed argument is null

setPreScript

void setPreScript(Document docStoreDoc)
Describes the location of a script with an invocation point defined by the Catalog

Parameters:
docStoreDoc - the post script document for this catalog
Throws:
PIMInternalException - If an internal error occurs
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_ATTRIBUTES
java.lang.IllegalArgumentException - If the passed argument is null

setUserDefinedAttributeCollection

void setUserDefinedAttributeCollection(AttributeCollection attributeCollection)
Specifies the User Defined Core Attribute Collection for this Catalog

Parameters:
attributeCollection - the attribute collection.
Throws:
PIMInternalException - If an internal error occurs
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_ATTRIBUTES
java.lang.IllegalArgumentException - If the passed argument is null

createView

View createView(java.lang.String viewName)
create a new empty View for this catalog

Parameters:
viewName - the name for the View
Returns:
the newly created View. Currently it will have empty ScreenViews, one for each of the applicableScreenTypes (as returned by catalogManager.getApplicableScreenTypes). These can be retrieved from the View and edited.
Throws:
PIMInternalException - if an internal error occurs, or the view already exists
PIMAuthorizationException - If the user does not have the equivalent of Permission.CATALOG_EDIT_CATALOG_VIEWS
java.lang.IllegalArgumentException - If the passed argument is null or empty

getView

View getView(java.lang.String name)
retrieve a View on this catalog by name

Parameters:
name - the name of the catalog View to retrieve
Returns:
the catalog View object with the specified name. Returns null if a view with the given name does not exist for this catalog.
Throws:
PIMInternalException - if an internal error occurs
PIMAuthorizationException - reserved for future use
java.lang.IllegalArgumentException - If the passed argument is null or empty

getViews

java.util.Collection<View> getViews()
Retrieve all Views on this catalog. If the user does not have permission to edit views, an empty collection will be returned.

Returns:
a Collection of Views for this catalog. If this catalog has no Views defined, an empty Collection will be returned.
Throws:
PIMInternalException - if an internal error occurs
PIMAuthorizationException - reserved for future use

createUserDefinedLog

ItemUserDefinedLog createUserDefinedLog(java.lang.String name,
                                        boolean runningLog)
Creates an ItemUserDefinedLog for this Catalog

Parameters:
name - The log name
runningLog - boolean. true if log is running false if not
Returns:
ItemUserDefinedLog
Throws:
PIMInternalException - If an internal error occurs
PIMAuthorizationException - Reserved for future use
java.lang.IllegalArgumentException - If name is null or if the name is an empty string

getUserDefinedLogs

java.util.Collection<ItemUserDefinedLog> getUserDefinedLogs()
Retrieves all ItemUserDefinedLog available in the current context for this Catalog

Returns:
A Collection of ItemUserDefinedLog.
Throws:
PIMInternalException - If an internal error occurs
PIMAuthorizationException - Reserved for future use

getUserDefinedLog

ItemUserDefinedLog getUserDefinedLog(java.lang.String name)
Retrieves a specific ItemUserDefinedLog associated with this catalog with a specified name

Parameters:
name - The name of the ItemUserDefinedLog to be retrieved
Returns:
The ItemUserDefinedLog matching that name, Returns null if the ItemUserDefinedLog with the given name does not exist
Throws:
PIMInternalException - If an internal error occurs
PIMAuthorizationException - Reserved for future use
java.lang.IllegalArgumentException - If the name is null or if the name is an empty string