/* * The contents of this file are subject to the Mozilla Public License Version 1.1 * (the "License"); you may not use this file except in compliance with the License. * You may obtain a copy of the License at . * * Software distributed under the License is distributed on an "AS IS" basis, WITHOUT * WARRANTY OF ANY KIND, either express or implied. See the License for the specific * language governing rights and limitations under the License. * * The Original Code is the Venice Web Communities System. * * The Initial Developer of the Original Code is Eric J. Bowersox , * for Silverwrist Design Studios. Portions created by Eric J. Bowersox are * Copyright (C) 2003 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved. * * Contributor(s): */ package com.silverwrist.dynamo.obj; import java.util.*; import com.silverwrist.dynamo.except.*; import com.silverwrist.dynamo.iface.*; public class DynamicImplObjectProvider extends DynamicObjectImpl { /*-------------------------------------------------------------------------------- * Static data members *-------------------------------------------------------------------------------- */ private static DynamicClass s_baseclass = null; /*-------------------------------------------------------------------------------- * Attributes *-------------------------------------------------------------------------------- */ private ObjectProvider m_impl; /*-------------------------------------------------------------------------------- * Constructors *-------------------------------------------------------------------------------- */ public DynamicImplObjectProvider(ObjectProvider impl, DynamicClass dclass) { super(dclass); m_impl = impl; } // end constructor public DynamicImplObjectProvider(ObjectProvider impl) { super(getBaseDClass()); m_impl = impl; } // end constructor /*-------------------------------------------------------------------------------- * Overrides from class DynamicObjectImpl *-------------------------------------------------------------------------------- */ public Object call(String method_name, Object[] parameters) throws DynamicObjectException { if (method_name.equals("getObject")) { // verify parameter list and call the method verifyParameterLength(method_name,parameters,2); verifyParameterType(method_name,parameters,0,String.class); verifyParameterType(method_name,parameters,1,String.class); return m_impl.getObject((String)(parameters[0]),(String)(parameters[1])); } // end if return super.call(method_name,parameters); } // end call /*-------------------------------------------------------------------------------- * External operations *-------------------------------------------------------------------------------- */ public boolean canCall(String method_name) { return method_name.equals("getObject"); } // end canCall /*-------------------------------------------------------------------------------- * External static operations *-------------------------------------------------------------------------------- */ public static synchronized DynamicClass getBaseDClass() { if (s_baseclass==null) s_baseclass = new DynamicClassObjectProvider(); return s_baseclass; } // end getBaseDClass } // end class DynamicImplObjectProvider