raccoon.api.eai.message
Interface IFactory

All Superinterfaces:
IBaseComponent
All Known Implementing Classes:
RvFactory

public interface IFactory
extends IBaseComponent

The factory service for creating new instances of EAI elements.

Since:
Raccoon v1.0
Version:
$Id: IFactory.java,v 1.1 2004/08/08 20:25:56 crouvrais Exp $
Author:
Cedric ROUVRAIS

Field Summary
static java.lang.String BUS_MESSAGE
          The string indicating the use of a IBusMessage instance.
static java.lang.String DESC_MESSAGE
          The string indicating the use of a IDescMessage instance.
static java.lang.String FACTORY_ACCESSOR_NAME
          The usual bean property used for defining the factory.
static java.lang.String MESSAGE
          The string indicating the use of a IMessage instance.
 
Method Summary
 IBusMessage newBusMessage()
          Creates a new instance of a bus message.
 IField newField()
          Creates a new instance of field.
 IMessage newMessage()
          Generates a new IMessage instance.
 IDescMessage newMessage(IBeanDescriptor pBeanDescriptor)
          Creates a new instance of a message for a specified Java class.
 IDescMessage newMessage(IMessageDescriptor pMessageDescriptor)
          Creates a new instance of a message based upon a specified message descriptor.
 IMessage newMessage(java.lang.Object pNativeMsg)
          Creates a proxy object for the given native message.
 IMessage newMessage(java.lang.String pMessageType)
          Creates a new message instance depending on the desired implementation.
 IMessageDescriptor newMessageDescriptor(java.lang.Class pJavaBean)
          Given the class of a java bean creates a new message definition instance.
 IMessageDescriptor newMessageDescriptor(IBeanDescriptor pBeanDescriptor)
          Given a bean descriptor creates a new message definition instance.
 IMessageDescriptor newMessageDescriptor(IBeanProperty pPropertyDescriptor)
          Creates a new message descriptor for the provided property of a java bean.
 ITracking newTracking()
          Creates a new instance of a tracking element.
 
Methods inherited from interface raccoon.api.types.IBaseComponent
isInError
 

Field Detail

FACTORY_ACCESSOR_NAME

static final java.lang.String FACTORY_ACCESSOR_NAME
The usual bean property used for defining the factory.


BUS_MESSAGE

static final java.lang.String BUS_MESSAGE
The string indicating the use of a IBusMessage instance.

See Also:
Constant Field Values

MESSAGE

static final java.lang.String MESSAGE
The string indicating the use of a IMessage instance.

See Also:
Constant Field Values

DESC_MESSAGE

static final java.lang.String DESC_MESSAGE
The string indicating the use of a IDescMessage instance.

See Also:
Constant Field Values
Method Detail

newMessage

IMessage newMessage(java.lang.String pMessageType)
                    throws java.lang.IllegalArgumentException
Creates a new message instance depending on the desired implementation.

Parameters:
pMessageType - the type of message desired, one of MESSAGE, BUS_MESSAGE, DESC_MESSAGE.
Returns:
the instance that implements the desired interface.
Throws:
java.lang.IllegalArgumentException - if the desired type of message isn't supported by this factory.

newBusMessage

IBusMessage newBusMessage()
Creates a new instance of a bus message.

Returns:
a new empty bus message.

newMessage

IMessage newMessage()
Generates a new IMessage instance.

Returns:
a generic message object that is empty.

newField

IField newField()
Creates a new instance of field.

Returns:
an empty field

newTracking

ITracking newTracking()
Creates a new instance of a tracking element.

Returns:
an empty tracking element

newMessage

IMessage newMessage(java.lang.Object pNativeMsg)
                    throws java.lang.IllegalArgumentException
Creates a proxy object for the given native message.

Parameters:
pNativeMsg - the native implementation of a bus message.
Returns:
the Raccoon proxy element
Throws:
java.lang.IllegalArgumentException - if this native isn't supported
java.lang.IllegalArgumentException - if a proxy couldn't be created (native message corrupted for example).

newMessage

IDescMessage newMessage(IBeanDescriptor pBeanDescriptor)
                        throws RaccoonException
Creates a new instance of a message for a specified Java class.

Parameters:
pBeanDescriptor - the bean descriptor for the message.
Returns:
an empty message that is designed to withhold the specified java class
Throws:
RaccoonException - if the operation fails.

newMessage

IDescMessage newMessage(IMessageDescriptor pMessageDescriptor)
                        throws RaccoonException
Creates a new instance of a message based upon a specified message descriptor.

Parameters:
pMessageDescriptor - the message descriptor to use.
Returns:
an empty message that is designed to withhold contents defined by the message descriptor.
Throws:
RaccoonException - if the operation fails.

newMessageDescriptor

IMessageDescriptor newMessageDescriptor(java.lang.Class pJavaBean)
                                        throws RaccoonException
Given the class of a java bean creates a new message definition instance.

Parameters:
pJavaBean - the class for which the IMessageDescriptor is desired.
Returns:
the associated message definition.
Throws:
RaccoonException - if the process fails.

newMessageDescriptor

IMessageDescriptor newMessageDescriptor(IBeanDescriptor pBeanDescriptor)
                                        throws RaccoonException
Given a bean descriptor creates a new message definition instance.

Parameters:
pBeanDescriptor - the bean descriptor.
Returns:
the associated message definition.
Throws:
RaccoonException - if the process fails.

newMessageDescriptor

IMessageDescriptor newMessageDescriptor(IBeanProperty pPropertyDescriptor)
                                        throws RaccoonException
Creates a new message descriptor for the provided property of a java bean.

Parameters:
pPropertyDescriptor - the property descriptor to use
Returns:
the associated message descriptor
Throws:
RaccoonException - if the property descriptor is invalid.


Copyright null null. All Rights Reserved.