diff options
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/internal/AbstractMetaDataEnabledTypeFactory.java')
-rw-r--r-- | jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/internal/AbstractMetaDataEnabledTypeFactory.java | 126 |
1 files changed, 0 insertions, 126 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/internal/AbstractMetaDataEnabledTypeFactory.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/internal/AbstractMetaDataEnabledTypeFactory.java deleted file mode 100644 index 6e2d1f48c..000000000 --- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/metadataprocessors/internal/AbstractMetaDataEnabledTypeFactory.java +++ /dev/null @@ -1,126 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006 Oracle Corporation. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Gerry Kessler/Oracle - initial API and implementation - * - ********************************************************************************/ - -package org.eclipse.jst.jsf.metadataprocessors.internal; - -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Platform; -import org.eclipse.jst.jsf.core.internal.JSFCorePlugin; -import org.eclipse.jst.jsf.metadataprocessors.IType; -import org.eclipse.jst.jsf.metadataprocessors.ITypeDescriptor; -import org.osgi.framework.Bundle; - -/** - * Abstract factory producing <code>ITypeDescriptor</code>s - * from instances of <code>AbstractMetaDataEnabledType</code>s - * - * @author Gerry Kessler - Oracle - * - */ -public abstract class AbstractMetaDataEnabledTypeFactory { - /** - * The factory instance - * TODO: why is this defined here it is only used in sub-classes?? - */ - protected static AbstractMetaDataEnabledTypeFactory INSTANCE; - - /** - * No arg constructor - */ - protected AbstractMetaDataEnabledTypeFactory(){ - super(); - } - - /** - * Concrete factory must pass instances of the it's types. - * - * @param typeId - * @return list of instances identified by the type id - */ - public abstract ITypeDescriptor getType(String typeId); - - /** - * @param type - * @return instance of ITypeDescriptor identified by the type id - */ - public ITypeDescriptor getType(AbstractMetaDataEnabledType type){ - - return createType(type); - - } - - /** - * @param type - * @return class identified by the type id - */ - public Class getClassForType(IType type){ - return createTypeClass(type); - - } - - /** - * Creates instances of <code>ITypeDescriptor</code>s from - * <code>AbstractMetaDataEnabledType</code>s - * - * @param atype - * @return the meta-data type descriptor - */ - protected ITypeDescriptor createType(IType atype){ - if (atype != null){ - ITypeDescriptor desc = createDescriptorInstance(atype); - if (desc != null){ - desc.setTypeExtension(atype); - return desc; - } - } - return null; - } - - - private Class createTypeClass(IType type){ - String className = type.getClassName(); - try { - Bundle bundle =Platform.getBundle(type.getBundleID()); - if (bundle == null){ - JSFCorePlugin.log(IStatus.ERROR, type.getBundleID() + " could not be created to load " + className); - return null; - } - Class klass = bundle.loadClass(className); - if (klass != null){ - //make sure the class can support the feature/extended interface - if (ITypeDescriptor.class.isAssignableFrom(klass)) - { - return klass; - } - JSFCorePlugin.log(IStatus.INFO, className + " was not found in " + type.getBundleID() +" for " + type.getTypeID()); - } - } catch (ClassNotFoundException e) { - JSFCorePlugin.log(IStatus.ERROR, className + " was not found in " + type.getBundleID() +" for " + type.getTypeID()); - } - return null; - } - - private ITypeDescriptor createDescriptorInstance(IType type){ - String className = type.getClassName(); - try { - Class klass = createTypeClass(type); - if (klass != null){ - return (ITypeDescriptor)klass.newInstance(); - } - } catch (InstantiationException e) { - JSFCorePlugin.log(IStatus.ERROR, "InstantiationException: " + className + " in " + type.getBundleID() +" for " + type.getTypeID()); - } catch (IllegalAccessException e) { - JSFCorePlugin.log(IStatus.ERROR, "IllegalAccessException: " + className + " in " + type.getBundleID() +" for " + type.getTypeID()); - } - return null; - } -} |