# com.beasys.commerce.foundation
BelongingHome Class

public class BelongingHome
extends `Object`
implements `SmartHome`

This is a Belonging home/bean factory. This implementation caches classes for increased performance using the design pattern that reduces contention and synchronization overhead.

Related Topics

``Belonging``
``BelongingImpl``

Hierarchy
  `Object`
  `BelongingHome`

All Implemented Interfaces
  `SmartHome`

## Field Summary

`public static final `String`` | `BELONGING_BEAN_CLASS_NAME` String
`public static final `String`` | `CUSTOM_HOME_NAME` String
`public static final `String`` | `DEFAULT_BELONGING_IMPL_SUFFIX` String

## Constructor Summary

BelongingHome()

## Method Summary

`public static `Belonging`` | `create`(`String` belongingInterfaceClassName) Given a bean interface, use the factory pattern to create an instance.
`public static `SmartHome`` | `getCustomHome`(`String` belongingInterfaceClassName) Given a bean interface, use the factory pattern to get its custom home.
`public static void` | `init`() The init method must be called before any Belongings are created.

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

## Field Detail

### BELONGING_BEAN_CLASS_NAME

    public static final String BELONGING_BEAN_CLASS_NAME

### CUSTOM_HOME_NAME

    public static final String CUSTOM_HOME_NAME

### DEFAULT_BELONGING_IMPL_SUFFIX

    public static final String DEFAULT_BELONGING_IMPL_SUFFIX

## Constructor Detail

### BelongingHome

    public BelongingHome()

## Method Detail

### create(String) Method

    public static Belonging create(String belongingInterfaceClassName)

Given a bean interface, use the factory pattern to create an instance. The bean instance can be obtained from the weblogiccommerce.properties file. If it is not there, then we will use the default Impl where is the name of the bean interface. This is an example of specifying a different Impl class in the properties file.

     com.beasys.commerce.axiom.contact.Address.BelongingBeanClassName = com.acme.util.AddressBean
     com.beasys.commerce.axiom.contact.Phone.BelongingBeanClassName = com.acme.contact.PhoneBean

### getCustomHome(String) Method

    public static SmartHome getCustomHome(String belongingInterfaceClassName)

Given a bean interface, use the factory pattern to get its custom home. If a bean's custom home is not defined in the weblogiccommerce.properties file, then this method returns null. This is an example of specifying a custom home name in the properties file.

      com.beasys.commerce.axiom.contact.Address.CustomHomeName = com.acme.util.AddressHome
      com.beasys.commerce.axiom.contact.Phone.CustomHomeName = com.acme.contact.PhoneHome

#### Parameters

belongingInterfaceClassName
  The name of the Belonging interface Class

#### Returns

The custom factory Class, or `null` if not defined

### init() Method

    public static void init()

The init method must be called before any Belongings are created.