JdbcCatalogFactory Class

com.beasys.commerce.ebusiness.catalog.sql
JdbcCatalogFactory Class

public class JdbcCatalogFactory

    extends Object

This class provides static methods to insulate the JDBC catalog developer from the underlying database schema. It implements a number of methods to query the structure of the schema and can create Category and Product Item objects from a ResultSet.
This is an advanced (internal) class and may be subject to change.


Hierarchy
Object
  JdbcCatalogFactory

Field Summary

public static final String
CATALOG_ITEM_CONTRIBUTOR
String
public static final String
CATALOG_ITEM_COVERAGE
String
public static final String
CATALOG_ITEM_CREATION_DATE
String
public static final String
CATALOG_ITEM_CREATOR
String
public static final String
CATALOG_ITEM_LANGUAGE
String
public static final String
CATALOG_ITEM_LARGE_IMAGE_ALT_TXT
String
public static final String
CATALOG_ITEM_LARGE_IMAGE_LANGUAGE
String
public static final String
CATALOG_ITEM_LARGE_IMAGE_NAME
String
public static final String
CATALOG_ITEM_LARGE_IMAGE_TYPE
String
public static final String
CATALOG_ITEM_LARGE_IMAGE_URL
String
public static final String
CATALOG_ITEM_LONG_DESCRIPTION
String
public static final String
CATALOG_ITEM_MODIFIED_DATE
String
public static final String
CATALOG_ITEM_NAME
these are the column names for attributes shared between categories and product items
public static final String
CATALOG_ITEM_PUBLISHER
String
public static final String
CATALOG_ITEM_RELATION
String
public static final String
CATALOG_ITEM_RIGHTS
String
public static final String
CATALOG_ITEM_SHORT_DESCRIPTION
String
public static final String
CATALOG_ITEM_SMALL_IMAGE_ALT_TXT
String
public static final String
CATALOG_ITEM_SMALL_IMAGE_LANGUAGE
String
public static final String
CATALOG_ITEM_SMALL_IMAGE_NAME
String
public static final String
CATALOG_ITEM_SMALL_IMAGE_TYPE
String
public static final String
CATALOG_ITEM_SMALL_IMAGE_URL
String
public static final String
CATALOG_ITEM_SOURCE
String
public static final String
CATEGORY_DISPLAY_JSP_URL
String
public static final String
CATEGORY_ID
attributes just for category
public static final String
CATEGORY_NAME
String
public static final String
CATEGORY_PARENT_ID
String
public static final String
PRODUCT_DETAIL_DISPLAY_JSP_URL
String
public static final String
PRODUCT_ESTIMATE_SHIP_TIME
String
public static final String
PRODUCT_FORMAT
String
public static final String
PRODUCT_IN_STOCK
String
public static final String
PRODUCT_KEYWORD_KEYWORD
String
public static final String
PRODUCT_KEYWORD_SKU
String
public static final String
PRODUCT_MSRP_AMOUNT
String
public static final String
PRODUCT_MSRP_CURRENCY
String
public static final String
PRODUCT_PRICE_AMOUNT
String
public static final String
PRODUCT_PRICE_CURRENCY
String
public static final String
PRODUCT_SHIPPING_CODE
String
public static final String
PRODUCT_SKU
attributes just for product items
public static final String
PRODUCT_SPECIAL_NOTES
String
public static final String
PRODUCT_SUMMARY_DISPLAY_JSP_URL
String
public static final String
PRODUCT_TAX_CODE
String
public static final String
PRODUCT_TYPE
String
public static final String
PRODUCT_VISIBLE
String
 

Constructor Summary

JdbcCatalogFactory(CatalogSchemaManager schema)

This class is abstract and cannot be created.
 

Method Summary

protected void
assignCatalogItemAttributes(MutableCatalogItem item, ResultSet resultSet, Map indexMap)
Assigns the base class CatalogItem attributes from the ResultSet to a CatalogItem object.
protected void
buildCatalogItemStatement(PreparedStatement preparedStatement, CatalogItem item, Map indexMap)
Assigns the attributes for a CatalogItem into a PreparedStatement.
public void
buildCategoryStatement(PreparedStatement preparedStatement, CategoryKey parentKey, Category cat)
Assigns the attributes for a Category into a PreparedStatement.
public void
buildProductItemStatement(PreparedStatement preparedStatement, ProductItem item)
Assigns the attributes for a ProductItem into a PreparedStatement.
public LinkedList
createCategory(ResultSet resultSet)
creates a LinkedList of Category objects from a ResultSet.
public LinkedList
createProductItem(ResultSet resultSet)
creates a LinkedList of ProductItem objects from a ResultSet.
public String
getCategoryColumnName(String fieldName)
public int
getCategoryFieldIndex(String fieldName)
public String
getCategoryTableName()
protected int
getMapFieldIndex(Map indexMap, String fieldName)
public String
getProductItemColumnName(String fieldName)
public int
getProductItemFieldIndex(String fieldName)
public String
getProductItemKeywordColumnName(String fieldName)
public String
getProductItemKeywordTableName()
public String
getProductItemTableName()
protected String
getResultSetFieldAsString(ResultSet resultSet, Map indexMap, String fieldName)
 
Methods from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
   

Field Detail

CATALOG_ITEM_CONTRIBUTOR

public static final String CATALOG_ITEM_CONTRIBUTOR


CATALOG_ITEM_COVERAGE

public static final String CATALOG_ITEM_COVERAGE


CATALOG_ITEM_CREATION_DATE

public static final String CATALOG_ITEM_CREATION_DATE


CATALOG_ITEM_CREATOR

public static final String CATALOG_ITEM_CREATOR


CATALOG_ITEM_LANGUAGE

public static final String CATALOG_ITEM_LANGUAGE


CATALOG_ITEM_LARGE_IMAGE_ALT_TXT

public static final String CATALOG_ITEM_LARGE_IMAGE_ALT_TXT


CATALOG_ITEM_LARGE_IMAGE_LANGUAGE

public static final String CATALOG_ITEM_LARGE_IMAGE_LANGUAGE


CATALOG_ITEM_LARGE_IMAGE_NAME

public static final String CATALOG_ITEM_LARGE_IMAGE_NAME


CATALOG_ITEM_LARGE_IMAGE_TYPE

public static final String CATALOG_ITEM_LARGE_IMAGE_TYPE


CATALOG_ITEM_LARGE_IMAGE_URL

public static final String CATALOG_ITEM_LARGE_IMAGE_URL


CATALOG_ITEM_LONG_DESCRIPTION

public static final String CATALOG_ITEM_LONG_DESCRIPTION


CATALOG_ITEM_MODIFIED_DATE

public static final String CATALOG_ITEM_MODIFIED_DATE


CATALOG_ITEM_NAME

public static final String CATALOG_ITEM_NAME
these are the column names for attributes shared between categories and product items


CATALOG_ITEM_PUBLISHER

public static final String CATALOG_ITEM_PUBLISHER


CATALOG_ITEM_RELATION

public static final String CATALOG_ITEM_RELATION


CATALOG_ITEM_RIGHTS

public static final String CATALOG_ITEM_RIGHTS


CATALOG_ITEM_SHORT_DESCRIPTION

public static final String CATALOG_ITEM_SHORT_DESCRIPTION


CATALOG_ITEM_SMALL_IMAGE_ALT_TXT

public static final String CATALOG_ITEM_SMALL_IMAGE_ALT_TXT


CATALOG_ITEM_SMALL_IMAGE_LANGUAGE

public static final String CATALOG_ITEM_SMALL_IMAGE_LANGUAGE


CATALOG_ITEM_SMALL_IMAGE_NAME

public static final String CATALOG_ITEM_SMALL_IMAGE_NAME


CATALOG_ITEM_SMALL_IMAGE_TYPE

public static final String CATALOG_ITEM_SMALL_IMAGE_TYPE


CATALOG_ITEM_SMALL_IMAGE_URL

public static final String CATALOG_ITEM_SMALL_IMAGE_URL


CATALOG_ITEM_SOURCE

public static final String CATALOG_ITEM_SOURCE


CATEGORY_DISPLAY_JSP_URL

public static final String CATEGORY_DISPLAY_JSP_URL


CATEGORY_ID

public static final String CATEGORY_ID
attributes just for category


CATEGORY_NAME

public static final String CATEGORY_NAME


CATEGORY_PARENT_ID

public static final String CATEGORY_PARENT_ID


PRODUCT_DETAIL_DISPLAY_JSP_URL

public static final String PRODUCT_DETAIL_DISPLAY_JSP_URL


PRODUCT_ESTIMATE_SHIP_TIME

public static final String PRODUCT_ESTIMATE_SHIP_TIME


PRODUCT_FORMAT

public static final String PRODUCT_FORMAT


PRODUCT_IN_STOCK

public static final String PRODUCT_IN_STOCK


PRODUCT_KEYWORD_KEYWORD

public static final String PRODUCT_KEYWORD_KEYWORD


PRODUCT_KEYWORD_SKU

public static final String PRODUCT_KEYWORD_SKU


PRODUCT_MSRP_AMOUNT

public static final String PRODUCT_MSRP_AMOUNT


PRODUCT_MSRP_CURRENCY

public static final String PRODUCT_MSRP_CURRENCY


PRODUCT_PRICE_AMOUNT

public static final String PRODUCT_PRICE_AMOUNT


PRODUCT_PRICE_CURRENCY

public static final String PRODUCT_PRICE_CURRENCY


PRODUCT_SHIPPING_CODE

public static final String PRODUCT_SHIPPING_CODE


PRODUCT_SKU

public static final String PRODUCT_SKU
attributes just for product items


PRODUCT_SPECIAL_NOTES

public static final String PRODUCT_SPECIAL_NOTES


PRODUCT_SUMMARY_DISPLAY_JSP_URL

public static final String PRODUCT_SUMMARY_DISPLAY_JSP_URL


PRODUCT_TAX_CODE

public static final String PRODUCT_TAX_CODE


PRODUCT_TYPE

public static final String PRODUCT_TYPE


PRODUCT_VISIBLE

public static final String PRODUCT_VISIBLE

 

Constructor Detail

JdbcCatalogFactory

public JdbcCatalogFactory(CatalogSchemaManager schema)
This class is abstract and cannot be created.
 

Method Detail

assignCatalogItemAttributes(MutableCatalogItem, ResultSet, Map) Method

protected void assignCatalogItemAttributes(MutableCatalogItem item, 
                                           ResultSet resultSet, 
                                           Map indexMap)
throws SQLException
Assigns the base class CatalogItem attributes from the ResultSet to a CatalogItem object.

Parameters

item
the Category or ProductItem to populate
resultSet
the SQL result set for the category or product item
indexMap
the name of the field. Use the constants defined in this class.

Exceptions

SQLException

buildCatalogItemStatement(PreparedStatement, CatalogItem, Map) Method

protected void buildCatalogItemStatement(PreparedStatement preparedStatement, 
                                         CatalogItem item, 
                                         Map indexMap)
throws SQLException
Assigns the attributes for a CatalogItem into a PreparedStatement.

Parameters

preparedStatement
the PreparedStatement to populate
item
the Category or ProductItem which is the source of the values
indexMap
the name of the field. Use the constants defined in this class.

Exceptions

SQLException

buildCategoryStatement(PreparedStatement, CategoryKey, Category) Method

public void buildCategoryStatement(PreparedStatement preparedStatement, 
                                   CategoryKey parentKey, 
                                   Category cat)
throws SQLException
Assigns the attributes for a Category into a PreparedStatement.

Parameters

preparedStatement
the PreparedStatement to populate
parentKey
the Category which is the source of the values

Exceptions

SQLException

buildProductItemStatement(PreparedStatement, ProductItem) Method

public void buildProductItemStatement(PreparedStatement preparedStatement, 
                                      ProductItem item)
throws SQLException
Assigns the attributes for a ProductItem into a PreparedStatement.

Parameters

preparedStatement
the PreparedStatement to populate
item
the ProductItem which is the source of the values

Exceptions

SQLException

createCategory(ResultSet) Method

public LinkedList createCategory(ResultSet resultSet)
throws SQLException, InvalidArgumentException
creates a LinkedList of Category objects from a ResultSet. The ResultSet must include all the columns of the category table in the correct order.

Parameters

resultSet
the SQL result set for the category table

Returns

a Vector of Category objects

Exceptions

SQLException
InvalidArgumentException

createProductItem(ResultSet) Method

public LinkedList createProductItem(ResultSet resultSet)
throws SQLException, InvalidArgumentException
creates a LinkedList of ProductItem objects from a ResultSet. The ResultSet must include all the columns of the product item table in the correct order.

Parameters

resultSet
the SQL result set for the product item table

Returns

a Vector of ProductItem objects

Exceptions

SQLException
InvalidArgumentException

getCategoryColumnName(String) Method

public String getCategoryColumnName(String fieldName)

Parameters

fieldName
the name of the field. Use the constants defined in this class.

Returns

the name of the database column used to store a category attribute

getCategoryFieldIndex(String) Method

public int getCategoryFieldIndex(String fieldName)

Parameters

fieldName
the name of the field. Use the constants defined in this class.

Returns

the index of a database column used to store a category attribute

getCategoryTableName() Method

public String getCategoryTableName()

Returns

the name of the database table used to store categories

getMapFieldIndex(Map, String) Method

protected int getMapFieldIndex(Map indexMap, 
                               String fieldName)

Parameters

indexMap
one of the column maps for the tables we support
fieldName
the name of the field. Use the constants defined in this class.

Returns

the index of the column for an attribute from one of the database tables we support

getProductItemColumnName(String) Method

public String getProductItemColumnName(String fieldName)

Parameters

fieldName
the name of the field. Use the constants defined in this class.

Returns

the name of the database column used to store a product item attribute

getProductItemFieldIndex(String) Method

public int getProductItemFieldIndex(String fieldName)

Parameters

fieldName
the name of the field. Use the constants defined in this class.

Returns

the index of a database column used to store a product item attribute

getProductItemKeywordColumnName(String) Method

public String getProductItemKeywordColumnName(String fieldName)

Parameters

fieldName
the name of the field (PRODUCT_KEYWORD_SKU, PRODUCT_KEYWORD_KEYWORD).

Returns

the name of the database column used to store a product item keyword attribute.

getProductItemKeywordTableName() Method

public String getProductItemKeywordTableName()

Returns

the name of the database table used to store product item keywords.

getProductItemTableName() Method

public String getProductItemTableName()

Returns

the name of the database table used to store product items

getResultSetFieldAsString(ResultSet, Map, String) Method

protected String getResultSetFieldAsString(ResultSet resultSet, 
                                           Map indexMap, 
                                           String fieldName)
throws SQLException

Parameters

resultSet
one of the column maps for the tables we support
indexMap
the name of the field. Use the constants defined in this class.

Returns

The value of a String attribute from one of the database tables we support (after passing through a call to processString).

Exceptions

SQLException