planet.generic.commonapi.factory
Class GenericFactory

java.lang.Object
  extended byplanet.generic.commonapi.factory.GenericFactory

public class GenericFactory
extends java.lang.Object

It is an abstraction class that follows the Factory Method pattern. That is, it offers different methods to obtain differents instances of factories.

Author:
Jordi Pujol

Field Summary
static java.lang.String PROPERTIES_FILE
          Properties file to use by default.
 
Constructor Summary
GenericFactory()
           
 
Method Summary
static Application build()
           
static Application build(java.lang.String app)
           
static BehavioursPool buildBehavioursPool()
          Builds a BehaviourPool with the actual configuration on Behaviour.properties file.
static GMLConstraint buildDefaultGMLConstraint()
           
static java.util.Iterator buildDistributedIds(long desiredNetworkSize)
           
static GMLEdge buildEdge(Id source, Id target, boolean directed)
           
static GMLEdge buildEdge(Id source, Id target, boolean directed, java.lang.String fill)
           
static EndPoint buildEndPoint(Application app, Node node)
           
static GMLGenerator buildGMLGenerator()
           
static Id buildId()
           
static Id buildId(java.math.BigInteger bigNumber)
           
static Id buildId(byte[] material)
           
static Id buildId(double material)
           
static Id buildId(int material)
           
static Id buildId(int[] material)
           
static Id buildId(java.lang.String string)
           
static Id buildId(java.lang.String material, java.lang.String algorithm)
           
static Id buildKey(java.lang.String string)
           
static Network buildNetwork()
           
static Network buildNetwork(int size)
           
static Network buildNetwork(int size, NodeFactory nodeFactory)
           
static Network buildNetwork(int size, NodeFactory nodeFactory, java.lang.String topology)
           
static Network buildNetwork(int size, NodeFactory nodeFactory, java.lang.String topology, int k)
           
static Network buildNetwork(int size, java.lang.String topology)
           
static Node buildNode()
           
static Node buildNode(Id id)
           
static NodeHandle buildNodeHandle(Id nodeId, boolean alive)
          Builds a new NodeHandle for specifieds Node Id and alive flag.
static Id buildRandomId()
           
static Application buildWithName(java.lang.String name)
           
static Application buildWithName(java.lang.String app, java.lang.String name)
           
static void generateGML(Network network, java.lang.String out, GMLConstraint constraint, boolean wholeNetworkLayout)
           
static java.lang.String generateKey()
          Generate a unique key, based on a simple int.
static java.lang.String getApplicationClass()
           
static ApplicationFactory getApplicationFactory()
          Builds a new instance of ApplicationFactory.
static ApplicationFactory getApplicationFactory(java.lang.String propertiesFile)
          Builds a new instance of ApplicationFactory.
static BehavioursPoolFactory getBehavioursPoolFactory()
          Builds a new instance of BehavioursPoolFactory.
static EndPointFactory getEndPointFactory()
          Builds a new instance of EndPointFactory.
static EndPointFactory getEndPointFactory(java.lang.String propertiesFile)
          Builds a new instance of EndPointFactory.
static GMLFactory getGMLFactory()
          Gets an instance of the GMLFactory.
static IdFactory getIdFactory()
          Builds a new instance of IdFactory.
static IdFactory getIdFactory(java.lang.String propertiesFile)
          Builds a new instance of IdFactory.
static NetworkFactory getNetworkFactory()
          Builds a new instance of NetworkFactory.
static NetworkFactory getNetworkFactory(java.lang.String propertiesFile)
          Builds a new instance of NetworkFactory.
static int getNetworkSize()
           
static java.lang.Class getNodeClass()
           
static NodeFactory getNodeFactory()
          Builds a new instance of NodeFactory.
static NodeFactory getNodeFactory(java.lang.String propertiesFile)
          Builds a new instance of NodeFactory.
static java.lang.Class getNodeHandleClass()
          Gets the NodeHandle class actually in use to build new NodeHandles.
static NodeHandleFactory getNodeHandleFactory()
          Builds a new instance of NodeHandleFactory.
static java.lang.String getSerializedFile()
           
static java.lang.String getTopology()
           
static void init()
          Initialize the GenericFactory to load the default properties file.
static void setApplicationClass(java.lang.String app)
           
static void setIdFactory(IdFactory idFactory)
           
static void setNetworkSize(int size)
           
static void setNodeClass(java.lang.Class nodeClass)
           
static void setNodeFactory(NodeFactory nodeFactory)
           
 void setNodeHandleClass(java.lang.Class nodeHandleClass)
          Sets the NodeHandle class to use in the future.
static void setSerializedFile(java.lang.String file)
           
static void setTopology(java.lang.String topology)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PROPERTIES_FILE

public static final java.lang.String PROPERTIES_FILE
Properties file to use by default.

See Also:
Constant Field Values
Constructor Detail

GenericFactory

public GenericFactory()
Method Detail

init

public static void init()
                 throws InitializationException
Initialize the GenericFactory to load the default properties file. This way permits return the different factories with the same base properties: the factories obtained with the methods withot parameters returns the same class of instances.

Throws:
InitializationException - if occurs any problem during initialization.

getApplicationFactory

public static ApplicationFactory getApplicationFactory()
                                                throws InitializationException
Builds a new instance of ApplicationFactory.

Returns:
A new instance of the ApplicationFactory default implementation.
Throws:
InitializationException - if occurs some problem with the factory initialization.

getNetworkFactory

public static NetworkFactory getNetworkFactory()
                                        throws InitializationException
Builds a new instance of NetworkFactory.

Returns:
A new instance of the NetworkFactory default implementation.
Throws:
InitializationException - if occurs some problem with the factory initialization.

getEndPointFactory

public static EndPointFactory getEndPointFactory()
                                          throws InitializationException
Builds a new instance of EndPointFactory.

Returns:
A new instance of the EndPointFactory default implementation.
Throws:
InitializationException - if occurs some problem with the factory initialization.

getNodeFactory

public static NodeFactory getNodeFactory()
                                  throws InitializationException
Builds a new instance of NodeFactory.

Returns:
A new instance of the NodeFactory default implementation.
Throws:
InitializationException - if occurs some problem with the factory initialization.

getNodeHandleFactory

public static NodeHandleFactory getNodeHandleFactory()
                                              throws InitializationException
Builds a new instance of NodeHandleFactory.

Returns:
A new instance of the NodeHandleFactory default implementation.
Throws:
InitializationException - if occurs some problem with the factory initialization.

getIdFactory

public static IdFactory getIdFactory()
                              throws InitializationException
Builds a new instance of IdFactory.

Returns:
A new instance of the IdFactory default implementation.
Throws:
InitializationException - if occurs some problem with the factory initialization.

getBehavioursPoolFactory

public static BehavioursPoolFactory getBehavioursPoolFactory()
                                                      throws InitializationException
Builds a new instance of BehavioursPoolFactory.

Returns:
A new instance of the BehavioursPoolFactory default implementation.
Throws:
InitializationException - if occurs some problem with the factory initialization.

getApplicationFactory

public static ApplicationFactory getApplicationFactory(java.lang.String propertiesFile)
                                                throws InitializationException
Builds a new instance of ApplicationFactory.

Parameters:
propertiesFile - Properties file from where read the default configuration.
Returns:
A new instance of the ApplicationFactory default implementation.
Throws:
InitializationException - if occurs some problem with the factory initialization.

getNetworkFactory

public static NetworkFactory getNetworkFactory(java.lang.String propertiesFile)
                                        throws InitializationException
Builds a new instance of NetworkFactory.

Parameters:
propertiesFile - Properties file from where read the default configuration.
Returns:
A new instance of the NetworkFactory default implementation.
Throws:
InitializationException - if occurs some problem with the factory initialization.

getEndPointFactory

public static EndPointFactory getEndPointFactory(java.lang.String propertiesFile)
                                          throws InitializationException
Builds a new instance of EndPointFactory.

Returns:
A new instance of the EndPointFactory default implementation.
Throws:
InitializationException - if occurs some problem with the factory initialization.

getNodeFactory

public static NodeFactory getNodeFactory(java.lang.String propertiesFile)
                                  throws InitializationException
Builds a new instance of NodeFactory.

Parameters:
propertiesFile - Properties file from where read the default configuration.
Returns:
A new instance of the NodeFactory default implementation.
Throws:
InitializationException - if occurs some problem with the factory initialization.

getIdFactory

public static IdFactory getIdFactory(java.lang.String propertiesFile)
                              throws InitializationException
Builds a new instance of IdFactory.

Parameters:
propertiesFile - Properties file from where read the default configuration.
Returns:
A new instance of the IdFactory default implementation.
Throws:
InitializationException - if occurs some problem with the factory initialization.

getGMLFactory

public static GMLFactory getGMLFactory()
                                throws InitializationException
Gets an instance of the GMLFactory.

Returns:
An instance of the GMLFactory.
Throws:
InitializationException - if any error occurrs during the initialization.

build

public static Application build()
                         throws InitializationException
Throws:
InitializationException
See Also:
ApplicationFactory.build()

build

public static Application build(java.lang.String app)
                         throws InitializationException
Throws:
InitializationException
See Also:
ApplicationFactory.build(java.lang.String)

buildWithName

public static Application buildWithName(java.lang.String name)
                                 throws InitializationException
Throws:
InitializationException
See Also:
ApplicationFactory.buildWithName(java.lang.String)

buildWithName

public static Application buildWithName(java.lang.String app,
                                        java.lang.String name)
                                 throws InitializationException
Throws:
InitializationException
See Also:
ApplicationFactory.buildWithName(java.lang.String, java.lang.String)

getApplicationClass

public static java.lang.String getApplicationClass()
See Also:
ApplicationFactory.getApplicationClass()

setApplicationClass

public static void setApplicationClass(java.lang.String app)
                                throws InitializationException
Throws:
InitializationException
See Also:
ApplicationFactory.setApplicationClass(java.lang.String)

buildNetwork

public static Network buildNetwork()
                            throws InitializationException
Throws:
InitializationException
See Also:
NetworkFactory.buildNetwork()

buildNetwork

public static Network buildNetwork(int size)
                            throws InitializationException
Throws:
InitializationException
See Also:
NetworkFactory.buildNetwork(int)

buildNetwork

public static Network buildNetwork(int size,
                                   NodeFactory nodeFactory)
                            throws InitializationException
Throws:
InitializationException
See Also:
NetworkFactory.buildNetwork(int, planet.commonapi.factory.NodeFactory)

buildNetwork

public static Network buildNetwork(int size,
                                   java.lang.String topology)
                            throws InitializationException
Throws:
InitializationException
See Also:
NetworkFactory.buildNetwork(int, java.lang.String)

buildNetwork

public static Network buildNetwork(int size,
                                   NodeFactory nodeFactory,
                                   java.lang.String topology)
                            throws InitializationException
Throws:
InitializationException
See Also:
NetworkFactory.buildNetwork(int, planet.commonapi.factory.NodeFactory, java.lang.String)

buildNetwork

public static Network buildNetwork(int size,
                                   NodeFactory nodeFactory,
                                   java.lang.String topology,
                                   int k)
                            throws InitializationException
Throws:
InitializationException
See Also:
NetworkFactory.buildNetwork(int, planet.commonapi.factory.NodeFactory, java.lang.String, int)

setNodeFactory

public static void setNodeFactory(NodeFactory nodeFactory)
See Also:
NetworkFactory.setNodeFactory(planet.commonapi.factory.NodeFactory)

getNetworkSize

public static int getNetworkSize()
See Also:
NetworkFactory.getNetworkSize()

setNetworkSize

public static void setNetworkSize(int size)
See Also:
NetworkFactory.setNetworkSize(int)

getTopology

public static java.lang.String getTopology()
See Also:
NetworkFactory.getTopology()

setTopology

public static void setTopology(java.lang.String topology)
                        throws InitializationException
Throws:
InitializationException
See Also:
NetworkFactory.setTopology(java.lang.String)

getSerializedFile

public static java.lang.String getSerializedFile()
See Also:
NetworkFactory.getSerializedFile()

setSerializedFile

public static void setSerializedFile(java.lang.String file)
                              throws InitializationException
Throws:
InitializationException
See Also:
NetworkFactory.setSerializedFile(java.lang.String)

buildEndPoint

public static EndPoint buildEndPoint(Application app,
                                     Node node)
                              throws InitializationException
Throws:
InitializationException
See Also:
EndPointFactory.buildEndPoint(planet.commonapi.Application,planet.commonapi.Node)

buildNode

public static Node buildNode()
                      throws InitializationException
Throws:
InitializationException
See Also:
NodeFactory.buildNode()

buildNode

public static Node buildNode(Id id)
                      throws InitializationException
Throws:
InitializationException
See Also:
NodeFactory.buildNode(planet.commonapi.Id)

setIdFactory

public static void setIdFactory(IdFactory idFactory)
See Also:
NodeFactory.setIdFactory(planet.commonapi.factory.IdFactory)

getNodeClass

public static java.lang.Class getNodeClass()
See Also:
NodeFactory.getNodeClass()

setNodeClass

public static void setNodeClass(java.lang.Class nodeClass)
                         throws InitializationException
Throws:
InitializationException
See Also:
NodeFactory.setNodeClass(java.lang.Class)

buildId

public static Id buildId()
                  throws InitializationException
Throws:
InitializationException
See Also:
IdFactory.buildId()

buildId

public static Id buildId(int material)
                  throws InitializationException
Throws:
InitializationException
See Also:
IdFactory.buildId(int)

buildId

public static Id buildId(double material)
                  throws InitializationException
Throws:
InitializationException
See Also:
IdFactory.buildId(double)

buildId

public static Id buildId(byte[] material)
                  throws InitializationException
Throws:
InitializationException
See Also:
IdFactory.buildId(byte[])

buildId

public static Id buildId(int[] material)
                  throws InitializationException
Throws:
InitializationException
See Also:
IdFactory.buildId(int[])

buildKey

public static Id buildKey(java.lang.String string)
                   throws InitializationException
Throws:
InitializationException
See Also:
IdFactory.buildKey(java.lang.String)

buildId

public static Id buildId(java.lang.String string)
                  throws InitializationException
Throws:
InitializationException
See Also:
IdFactory.buildId(java.lang.String)

buildId

public static Id buildId(java.math.BigInteger bigNumber)
                  throws InitializationException
Throws:
InitializationException
See Also:
IdFactory.buildId(java.math.BigInteger)

buildId

public static Id buildId(java.lang.String material,
                         java.lang.String algorithm)
                  throws InitializationException
Throws:
InitializationException
See Also:
IdFactory.buildId(java.lang.String,java.lang.String), Java Cryptography Architecture API Specification & Reference

buildRandomId

public static Id buildRandomId()
                        throws InitializationException
Throws:
InitializationException
See Also:
IdFactory.buildRandomId()

buildDistributedIds

public static java.util.Iterator buildDistributedIds(long desiredNetworkSize)
                                              throws InitializationException
Throws:
InitializationException
See Also:
IdFactory.buildDistributedIds(long)

generateKey

public static java.lang.String generateKey()
Generate a unique key, based on a simple int. Based on the context of the simulator, its implementation ensures that the returned key is unique at the time that it is generated. This key is used to identify a unique RouteMessage.

Returns:
An unique key for a RouteMessage to be send.

buildBehavioursPool

public static BehavioursPool buildBehavioursPool()
                                          throws InitializationException
Builds a BehaviourPool with the actual configuration on Behaviour.properties file.

Returns:
A reference to BehavioursPool.
Throws:
InitializationException - when an error occurs during the initialization of the Behaviours pool or when this factory method is nonapplicable.

buildNodeHandle

public static NodeHandle buildNodeHandle(Id nodeId,
                                         boolean alive)
                                  throws InitializationException
Builds a new NodeHandle for specifieds Node Id and alive flag.

Parameters:
nodeId - Id of the related Node.
alive - true if the related Node is alive. false in other case.
Returns:
A new instance of NodeHandle for the related Node.
Throws:
InitializationException - if occur any problem.
See Also:
NodeHandleFactory.buildNodeHandle(planet.commonapi.Id, boolean)

getNodeHandleClass

public static java.lang.Class getNodeHandleClass()
Gets the NodeHandle class actually in use to build new NodeHandles.

Returns:
The NodeHandle class actually in use.
See Also:
NodeHandleFactory.getNodeHandleClass()

setNodeHandleClass

public void setNodeHandleClass(java.lang.Class nodeHandleClass)
                        throws InitializationException
Sets the NodeHandle class to use in the future.

Parameters:
nodeHandleClass - NodeHandle class actually in use.
Throws:
InitializationException - if any error has ocurred.
See Also:
NodeHandleFactory.setNodeHandleClass(java.lang.Class)

buildEdge

public static GMLEdge buildEdge(Id source,
                                Id target,
                                boolean directed)
                         throws InitializationException
Throws:
InitializationException - if a GMLFactory instance is not initialized, or by an exception thrown building a GMLEdge.
See Also:
GMLFactory.buildEdge(planet.commonapi.Id, planet.commonapi.Id, boolean)

buildEdge

public static GMLEdge buildEdge(Id source,
                                Id target,
                                boolean directed,
                                java.lang.String fill)
                         throws InitializationException
Throws:
InitializationException - if a GMLFactory instance is not initialized, or by an exception thrown building a GMLEdge.
See Also:
GMLFactory.buildEdge(planet.commonapi.Id, planet.commonapi.Id, boolean, java.lang.String)

buildGMLGenerator

public static GMLGenerator buildGMLGenerator()
                                      throws InitializationException
Throws:
InitializationException - if a GMLFactory instance is not initialized, or by an exception thrown building a GMLGenerator.
See Also:
GMLFactory.buildGMLGenerator()

buildDefaultGMLConstraint

public static GMLConstraint buildDefaultGMLConstraint()
                                               throws InitializationException
Throws:
InitializationException - if a GMLFactory instance is not initialized, or by an exception thrown building a GMLEdge.
See Also:
GMLFactory.buildDefaultGMLConstraint()

generateGML

public static void generateGML(Network network,
                               java.lang.String out,
                               GMLConstraint constraint,
                               boolean wholeNetworkLayout)
                        throws InitializationException
Throws:
InitializationException - only if a GMLGenerator instance is not initialized.
See Also:
GMLGenerator.generateGML(planet.commonapi.Network, java.lang.String, planet.commonapi.GML.GMLConstraint, boolean)