flex.messaging
Interface FlexFactory

All Superinterfaces:
FlexConfigurable
All Known Implementing Classes:
JavaFactory

public interface FlexFactory
extends FlexConfigurable

The FlexFactory interface is implemented by factory components that provide instances to the Flex messaging framework. You can implement this interface if you want to tie together Flex Data Services with another system which maintains component instances (often called the "services layer" in a typical enterprise architecture). By implementing FlexFactory, you can configure a Flex RemoteObject destination or a Flex Data Management Services assembler which uses a Java object instance in your services layer rather than having FDS create a new component instance. In some cases, this means you avoid writing glue code for each service you want to expose to flex clients.


Field Summary
static String SCOPE
          Scope string.
static String SCOPE_APPLICATION
          Application scope string .
static String SCOPE_REQUEST
          Request scope string.
static String SCOPE_SESSION
          Session scope string.
static String SOURCE
          Source string.
 
Method Summary
 FactoryInstance createFactoryInstance(String id, ConfigMap properties)
          Called when the definition of an instance that this factory looks up is initialized.
 Object lookup(FactoryInstance instanceInfo)
          This method is called by the default implementation of FactoryInstance.lookup.
 
Methods inherited from interface flex.messaging.FlexConfigurable
initialize
 

Field Detail

SCOPE_REQUEST

static final String SCOPE_REQUEST
Request scope string.

See Also:
Constant Field Values

SCOPE_SESSION

static final String SCOPE_SESSION
Session scope string.

See Also:
Constant Field Values

SCOPE_APPLICATION

static final String SCOPE_APPLICATION
Application scope string .

See Also:
Constant Field Values

SCOPE

static final String SCOPE
Scope string.

See Also:
Constant Field Values

SOURCE

static final String SOURCE
Source string.

See Also:
Constant Field Values
Method Detail

createFactoryInstance

FactoryInstance createFactoryInstance(String id,
                                      ConfigMap properties)
Called when the definition of an instance that this factory looks up is initialized. It should validate that the properties supplied are valid to define an instance and returns an instance of the type FactoryInstance that contains all configuration necessary to construct an instance of this object. If the instance is application scoped, the FactoryInstance may contain a reference to the instance directly.

Any valid properties used for this configuration must be accessed to avoid warnings about unused configuration elements. If your factory is only used for application scoped components, you do not need to implement this method as the lookup method itself can be used to validate its configuration.

The id property is used as a name to help you identify this factory instance for any errors it might generate.


lookup

Object lookup(FactoryInstance instanceInfo)
This method is called by the default implementation of FactoryInstance.lookup. When FDS wants an instance of a given factory destination, it calls the FactoryInstance.lookup to retrieve that instance. That method in turn calls this method by default. For simple FlexFactory implementations which do not need to add additional configuration properties or logic to the FactoryInstance class, by implementing this method you can avoid having to add an additional subclass of FactoryInstance for your factory. If you do extend FactoryInstance, it is recommended that you just override FactoryInstance.lookup and put your logic there to avoid the extra level of indirection.

Parameters:
instanceInfo - The FactoryInstance for this destination
Returns:
the Object instance to use for the given operation for this destination.


Copyright © 2008 Adobe Systems Inc. All Rights Reserved.

 

Send me an e-mail when comments are added to this page | Comment Report

Current page: http://livedocs.adobe.com/blazeds/1/javadoc/flex/messaging/FlexFactory.html