# com.beasys.commerce.ebusiness.catalog
CatalogFactory Class

public abstract class CatalogFactory
extends `Object`

Factory class to create Catalog-related objects. The catalog APIs that are aimed at end-users return immutable objects. This factory class can also be used to create mutable versions of those objects.

Hierarchy
  `Object`
  `CatalogFactory`

## Method Summary

`public static `Category`` | `createCategory`(`MutableCategory` delegate) Creates an immutable Category object that uses a mutable delegate object.
`public static `KeywordQuery`` | `createKeywordQuery`() Creates a KeywordQuery object.
`public static `MutableCategory`` | `createMutableCategory`(`CategoryKey` key, boolean createCE) Creates a mutable Category object for the category with the given key.
`public static `MutableCategory`` | `createMutableCategory`(`Category` category, boolean createCE) Creates a mutable Category object - by copying an immutable object.
`public static `MutableProductItem`` | `createMutableProductItem`(`ProductItemKey` key, boolean createCE) Creates a MutableProductItem object for the item with the given key.
`public static `MutableProductItem`` | `createMutableProductItem`(`ProductItem` item, boolean createCE) Creates a MutableProductItem object based off an imutable object.
`public static `ProductItem`` | `createProductItem`(`MutableProductItem` delegate) Creates a ProductItem object by wrapping a mutable object in an immutable shell so that it is protected from updates.
`public static `ProductItemQuery`` | `createProductItemQuery`() Creates a ProductItemQuery object.

Methods from class `java.lang.`Object``
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Method Detail

### createCategory(MutableCategory) Method

    public static Category createCategory(MutableCategory delegate)

Creates an immutable Category object that uses a mutable delegate object. The mutable object is wrapped in an immutable shell so that it is protected from updates.

#### Parameters

delegate
  The delegate Category object.

### createKeywordQuery() Method

    public static KeywordQuery createKeywordQuery()

Creates a KeywordQuery object.

### createMutableCategory(CategoryKey, boolean) Method

    public static MutableCategory createMutableCategory(CategoryKey key,
                                                        boolean createCE)

Creates a mutable Category object for the category with the given key. A MutableCategory can be modified through its setter methods.

#### Parameters

key
  the key for the object

### createMutableCategory(Category, boolean) Method

    public static MutableCategory createMutableCategory(Category category,
                                                        boolean createCE)

Creates a mutable Category object - by copying an immutable object.

#### Parameters

category
  the key for the object

### createMutableProductItem(ProductItemKey, boolean) Method

    public static MutableProductItem createMutableProductItem(ProductItemKey key,
                                                              boolean createCE)

Creates a MutableProductItem object for the item with the given key.

#### Parameters

key
  the key for the object

### createMutableProductItem(ProductItem, boolean) Method

    public static MutableProductItem createMutableProductItem(ProductItem item,
                                                              boolean createCE)

Creates a MutableProductItem object based off an imutable object. The immutable object is copied to ensure the same reference is not modified.

#### Parameters

item
  the immutable object

### createProductItem(MutableProductItem) Method

    public static ProductItem createProductItem(MutableProductItem delegate)

Creates a ProductItem object by wrapping a mutable object in an immutable shell so that it is protected from updates.

#### Parameters

delegate
  The delegate ProductItem object.

### createProductItemQuery() Method

    public static ProductItemQuery createProductItemQuery()

Creates a ProductItemQuery object.