com.ibm.websphere.bo

Interface BOFactory


  1. public interface BOFactory
The BOFactory interface represents the client programming model interface for the BOFactory service. The BOFactory service provides the ability to create business objects and business documents that are represented in memory by the commonj.sdo.DataObject and com.ibm.websphere.bo.BOXMLDocument objects.

DataObjects are defined by the Service Data Object specification and represent a dynamically typed in memory object containing properties. The BOFactory service supports the creation of a DataObject whose type information can be modeled in several different forms, including the following:

Note: The createByClass operation is not supported in the initial product release.

Field Summary

Modifier and Type Field and Description
  1. static
  2. java.lang.String
COPYRIGHT

Method Summary

Modifier and Type Method and Description
  1. commonj.sdo.DataObject
create(java.lang.String targetNamespace,java.lang.String complexTypeName)
Creates a DataObject from an XML Schema complex type definition.
  1. commonj.sdo.DataObject
createByClass(java.lang.Class iterfaceClass)
Deprecated. This method is going to be removed.
  1. commonj.sdo.DataObject
createByElement(java.lang.String targetNamespace,java.lang.String globalElementName)
Creates a DataObject from an XML Schema global element definition.
  1. commonj.sdo.DataObject
createByMessage(java.lang.String targetNamespace,java.lang.String messageName)
Creates a DataObject from a WSDL message definition.
  1. commonj.sdo.DataObject
createByType(commonj.sdo.Type type)
Creates a DataObject from a commonj.sdo.Type.
  1. commonj.sdo.DataObject
createDataTypeWrapper(commonj.sdo.Type dataType,java.lang.Object value)
Creates a DataObject wrapper for a simple data type.
  1. BOXMLDocument
createXMLDocument(java.lang.String targetNamespace,java.lang.String globalElementName)
Creates a BOXMLDocument from an XML Schema global element definition.

Field Detail

  1. static final java.lang.String COPYRIGHT
See Also:

Method Detail

create

  1. commonj.sdo.DataObject create(java.lang.String targetNamespace,
  2. java.lang.String complexTypeName)
Creates a DataObject from an XML Schema complex type definition.

BOFactory boFactory = (BOFactory) new ServiceManager().locateService("com/ibm/websphere/bo/BOFactory");
DataObject customer = boFactory.create("http://www.ibm.com/Customer", "CustomerType");

Parameters:
targetNamespace - The target namespace of the complex type definition. Can be null to represent the null target namespace.
complexTypeName - The name of the complex type.
Returns:
The created DataObject

createByElement

  1. commonj.sdo.DataObject createByElement( java.lang.String targetNamespace,
  2. java.lang.String globalElementName)
Creates a DataObject from an XML Schema global element definition.

BOFactory boFactory = (BOFactory) new ServiceManager().locateService("com/ibm/websphere/bo/BOFactory");
DataObject customer = boFactory.createByElement("http://www.ibm.com/Customer", "customer");

Parameters:
targetNamespace - The target namespace of the complex type definition. Can be null to represent the null target namespace.
globalElementName - The name of the global element.
Returns:
The created DataObject

createByType

  1. commonj.sdo.DataObject createByType( commonj.sdo.Type type)
Creates a DataObject from a commonj.sdo.Type. The Type can be created using the BOType service.

BOFactory boFactory = (BOFactory) new ServiceManager().locateService("com/ibm/websphere/bo/BOFactory");
BOType boType = (BOType) new ServiceManager().locateService("com/ibm/websphere/bo/BOType");
Type customerType = boType.create("http://www.ibm.com/Customer", "CustomerType");
DataObject customer = boFactory.createFromType(customerType);

Parameters:
type - The Type object representing the type information of the Business Object.
Returns:
The created DataObject

createByClass

  1. commonj.sdo.DataObject createByClass( java.lang.Class iterfaceClass)
Deprecated. This method is going to be removed.
Creates a DataObject from a Java class name.

BOFactory boFactory = (BOFactory) new ServiceManager().locateService("com/ibm/websphere/bo/BOFactory");
DataObject customer = boFactory.create(com.ibm.com.Customer.class);

Parameters:
iterfaceClass - The Java class that represents the interface
Returns:
The created DataObject

createByMessage

  1. commonj.sdo.DataObject createByMessage( java.lang.String targetNamespace,
  2. java.lang.String messageName)
Creates a DataObject from a WSDL message definition.

BOFactory boFactory = (BOFactory) new ServiceManager().locateService("com/ibm/websphere/bo/BOFactory");
DataObject customer = boFactory.createByMessage("http://www.ibm.com/Customer", "customer");

Parameters:
targetNamespace - The target namespace of the message definition. Can be null to represent the null target namespace.
messageName - The name of the WSDL message
Returns:
The created DataObject

createXMLDocument

  1. BOXMLDocument createXMLDocument( java.lang.String targetNamespace,
  2. java.lang.String globalElementName)
Creates a BOXMLDocument from an XML Schema global element definition.

BOFactory boFactory = (BOFactory) new ServiceManager().locateService("com/ibm/websphere/bo/BOFactory");
BOXMLDocument customerDocument = boFactory.createXMLDocument("http://www.ibm.com/Customer", "customer");

Parameters:
targetNamespace - The target namespace of the message definition. Can be null to represent the null target namespace.
globalElementName - The name of the global element definition
Returns:
The DataObject created.

createDataTypeWrapper

  1. commonj.sdo.DataObject createDataTypeWrapper( commonj.sdo.Type dataType,
  2. java.lang.Object value)

Creates a DataObject wrapper for a simple data type.

The main use case for wrappers is setting simple-typed values for xsd:anyType properties. Wrappers can also be used to set values of derived types into properties of the base type in order to produce xsi:type annotations in the serialized XML. For example, a wrapper can be used to set an xsd:token value into an xsd:anySimpleType property.

The returned DataObject has a single property named value at index 0, which contains the wrapped value. If the value parameter is not an instance of the data type's instance class, the implementation will attempt to convert it to a value of the instance class.

The type information of the returned DataObject is not specified beyond the value property. Use BOType.isDataTypeWrapper(DataObject) to determine whether a given DataObject is a wrapper.

BOFactory boFactory = (BOFactory) ServiceManager.INSTANCE.locateService("com/ibm/websphere/bo/BOFactory");
BOType boType = (BOType) ServiceManager.INSTANCE.locateService("com/ibm/websphere/bo/BOType");
Type stringType = boType.getType("http://www.w3.org/2001/XMLSchema", "string");
DataObject stringType = boFactory.createDataTypeWrapper(stringType, "foo");
Parameters:
dataType - The type of the value object to create a wrapper for.
value - The value that will be wrapped by the DataObject
Returns:
The created DataObject