// // Copyright (c)1998-2011 Pearson Education, Inc. or its affiliate(s). // All rights reserved. // package openadk.library.impl; import openadk.library.ADKException; import openadk.library.Agent; import openadk.library.policy.ADKDefaultPolicy; import openadk.library.policy.PolicyManagerImpl; /** * The default Object Factory used by the ADK * @author Andrew Elmhorst * @version 2.1 * */ public class ObjectFactoryImpl extends ObjectFactory { /* (non-Javadoc) * @see openadk.library.impl.ObjectFactory#createInstance(openadk.library.impl.ObjectFactory.ADKFactoryType, openadk.library.Agent) */ @Override public Object createInstance(ADKFactoryType factoryType, Agent agentInstance ) throws ADKException { if( factoryType == null ){ return null; } switch( factoryType ){ case ZONE: return new ZoneFactoryImpl( agentInstance ); case TOPIC: return new TopicFactoryImpl( agentInstance ); case POLICY_FACTORY: return new ADKDefaultPolicy( agentInstance ); case POLICY_MANAGER: return new PolicyManagerImpl( agentInstance ); } return null; } }