Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEStandardBeanProxyFactory.java')
-rw-r--r--plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEStandardBeanProxyFactory.java262
1 files changed, 0 insertions, 262 deletions
diff --git a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEStandardBeanProxyFactory.java b/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEStandardBeanProxyFactory.java
deleted file mode 100644
index 85a852b28..000000000
--- a/plugins/org.eclipse.jem.proxy/proxyide/org/eclipse/jem/internal/proxy/ide/IDEStandardBeanProxyFactory.java
+++ /dev/null
@@ -1,262 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2005 IBM Corporation and others.
- * 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jem.internal.proxy.ide;
-/*
- * $RCSfile: IDEStandardBeanProxyFactory.java,v $ $Revision: 1.11 $ $Date: 2005/08/24 20:39:06 $
- */
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-
-import org.eclipse.jem.internal.proxy.common.IVMServer;
-import org.eclipse.jem.internal.proxy.core.*;
-import org.eclipse.jem.internal.proxy.initParser.InitializationStringParser;
-
-public class IDEStandardBeanProxyFactory implements IStandardBeanProxyFactory {
-
-
- protected IDEProxyFactoryRegistry fRegistry;
- protected IDEStandardBeanTypeProxyFactory fBeanTypeProxyFactory;
- private IBeanProxy ivmServerProxy;
-
- /*
- * Return a bean proxy for the argument. To do this create through the correct BeanTypeProxy
- * Which ensures that special subclasses of IDEBeanProxy are created. This is just a local
- * helper method.
- */
- static IIDEBeanProxy createBeanProxy(ProxyFactoryRegistry aRegistry, Object anObject) {
-
- return ((IDEStandardBeanProxyFactory) aRegistry.getBeanProxyFactory()).createIDEBeanProxyWith(anObject);
- }
-
- IDEStandardBeanProxyFactory(IDEProxyFactoryRegistry aRegistry) {
- fRegistry = aRegistry;
- fRegistry.registerBeanProxyFactory(this);
- fBeanTypeProxyFactory = (IDEStandardBeanTypeProxyFactory) aRegistry.getBeanTypeProxyFactory();
- ivmServerProxy = fRegistry.getBeanProxy(IVMServer.class, fRegistry);
- }
-
- public IStringBeanProxy createBeanProxyWith(String aString) {
- return fBeanTypeProxyFactory.stringClass.createStringBeanProxy(aString);
- }
-
- public INumberBeanProxy createBeanProxyWith(float aFloat) {
- return fBeanTypeProxyFactory.floatType.createFloatBeanProxy(aFloat);
- }
-
- public INumberBeanProxy createBeanProxyWith(short aShort) {
- return fBeanTypeProxyFactory.shortType.createShortBeanProxy(aShort);
- }
-
- public ICharacterBeanProxy createBeanProxyWith(char aChar) {
- return fBeanTypeProxyFactory.charType.createCharBeanProxy(aChar);
- }
-
- public ICharacterBeanProxy createBeanProxyWith(Character aCharacter) {
- return fBeanTypeProxyFactory.charClass.createCharacterBeanProxy(aCharacter);
- }
-
- public IIntegerBeanProxy createBeanProxyWith(int anInt) {
- return fBeanTypeProxyFactory.intType.createIntegerBeanProxy(anInt);
- }
-
- public IIntegerBeanProxy createBeanProxyWith(Integer anInteger) {
- return fBeanTypeProxyFactory.integerClass.createIntegerBeanProxy(anInteger);
- }
-
- public INumberBeanProxy createBeanProxyWith(long aLong) {
- return fBeanTypeProxyFactory.longType.createLongBeanProxy(aLong);
- }
-
- public INumberBeanProxy createBeanProxyWith(Number aNumber) {
- IDENumberBeanTypeProxy numberTypeProxy = (IDENumberBeanTypeProxy) fBeanTypeProxyFactory.getBeanTypeProxy(aNumber.getClass());
- return numberTypeProxy.createNumberBeanProxy(aNumber);
- }
-
- public IBooleanBeanProxy createBeanProxyWith(boolean aBoolean) {
- return fBeanTypeProxyFactory.booleanType.createBooleanBeanProxy(aBoolean);
- }
-
- public IBooleanBeanProxy createBeanProxyWith(Boolean aBoolean) {
- return fBeanTypeProxyFactory.booleanClass.createBooleanBeanProxy(aBoolean);
- }
-
- public INumberBeanProxy createBeanProxyWith(byte aByte) {
- return fBeanTypeProxyFactory.byteType.createByteBeanProxy(aByte);
- }
-
- public INumberBeanProxy createBeanProxyWith(double aDouble) {
- return fBeanTypeProxyFactory.doubleType.createDoubleBeanProxy(aDouble);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IStandardBeanProxyFactory#convertToPrimitiveBeanProxy(org.eclipse.jem.internal.proxy.core.IBeanProxy)
- */
- public IBeanProxy convertToPrimitiveBeanProxy(IBeanProxy nonPrimitiveProxy) {
- if (nonPrimitiveProxy == null)
- return null;
- if (!nonPrimitiveProxy.isValid())
- return nonPrimitiveProxy;
- IDEBeanTypeProxy type = (IDEBeanTypeProxy) nonPrimitiveProxy.getTypeProxy();
- if (type.getClass() == Boolean.class)
- return this.createBeanProxyWith(((IBooleanBeanProxy) nonPrimitiveProxy).booleanValue());
- else if (type.getClass() == Byte.class)
- return this.createBeanProxyWith(((INumberBeanProxy) nonPrimitiveProxy).byteValue());
- else if (type.getClass() == Character.class)
- return this.createBeanProxyWith(((ICharacterBeanProxy) nonPrimitiveProxy).charValue());
- else if (type.getClass() == Double.class)
- return this.createBeanProxyWith(((INumberBeanProxy) nonPrimitiveProxy).doubleValue());
- else if (type.getClass() == Float.class)
- return this.createBeanProxyWith(((INumberBeanProxy) nonPrimitiveProxy).floatValue());
- else if (type.getClass() == Integer.class)
- return this.createBeanProxyWith(((INumberBeanProxy) nonPrimitiveProxy).intValue());
- else if (type.getClass() == Long.class)
- return this.createBeanProxyWith(((INumberBeanProxy) nonPrimitiveProxy).longValue());
- else if (type.getClass() == Short.class)
- return this.createBeanProxyWith(((INumberBeanProxy) nonPrimitiveProxy).shortValue());
- else
- return nonPrimitiveProxy;
- }
-
- /**
- * Create a one-dimensional array. The result will be the same as calling
- * createBeanProxyWith(IBeanTypeProxy type, new int[1] {x}) where 'x' is the value passed in as
- * the dimension.
- */
- public IArrayBeanProxy createBeanProxyWith(IBeanTypeProxy type, int dimension) throws ThrowableProxy {
- return createBeanProxyWith(type, new int[] { dimension });
- }
-
- /**
- * Create an array bean proxy.
- * - (int, new int[2] {3, 4}) will create: int [3] [4]
- * - (int[], new int[1] {1}) int [1]
- * - (int[], new int[2] {2,3}) int [2] [3]
- *
- * - (int[], null) or (int[], new int[0]) or (int, null) or (int, new int[0]) int [0]... or
- * (int[][]..., null) or (int[][]..., new int[0]) int[0][]... This is because an array instance
- * with no specified dimensions is not valid.
- * - (int[][], new int[1] {3}) int[3][]
- */
- public IArrayBeanProxy createBeanProxyWith(IBeanTypeProxy type, int[] dimensions) throws ThrowableProxy {
- if (type.isArray())
- return ((IDEArrayBeanTypeProxy) type).createBeanProxyWith(dimensions); // Already an
- // array type,
- // just pass it
- // on.
- else {
- // It is not an array type, so we need to get an array of this type and dimensions.
- IDEArrayBeanTypeProxy arrayType =
- (IDEArrayBeanTypeProxy) fBeanTypeProxyFactory.getBeanTypeProxy(type.getTypeName(), dimensions.length);
- return arrayType.createBeanProxyWith(dimensions);
- }
- }
-
- public void releaseProxy(IBeanProxy aProxy) {
- // Do nothing. This is more for remote proxies
- }
-
- /**
- * createIDEBeanProxyWith method comment. This is not part of the IStandardBeanProxyFactory
- * interface. It is available only from IDEBeanProxyFactory so that IDE registered extensions
- * can wrapper a bean. They will need to get current and explicitly cast to
- * IDEBeanProxyFactory, so they should only be IDE types themselves.
- */
- public IIDEBeanProxy createIDEBeanProxyWith(Object anObject) {
- if (anObject == null)
- return null;
- return ((IDEBeanTypeProxy) fBeanTypeProxyFactory.getBeanTypeProxy(anObject.getClass())).newBeanProxy(anObject);
- }
-
- /**
- * For the IDE Factory we will create an IDEBeanProxy using the initializationString. If the
- * format of the string is not one we understand, pass it onto the evaluator. The
- * initStringParser is passed to allow shortcut evaluation. Package protected so only
- * IDEBeanTypeProxies can create instances.
- */
- IBeanProxy createBeanProxy(IDEBeanTypeProxy aTypeProxy, String initializationString) {
- if (initializationString.equals("null")) //$NON-NLS-1$
- return null; // Value is initialized as null.
- // We have to evaluate the result of the initializationString
- try {
- ClassLoader pluginClassLoader = fRegistry.getPluginClassLoader();
- Object newValue = InitializationStringParser.evaluate(initializationString, pluginClassLoader);
- return newValue != null ? aTypeProxy.newBeanProxy(newValue) : null;
- } catch (Exception exc) {
- ProxyPlugin.getPlugin().getLogger().log(
- new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", exc)); //$NON-NLS-1$
- return null;
- }
- }
-
- /**
- * For the IDE Factory we will create an IDEBeanProxy using the null constructor Package
- * protected so only IDEBeanTypeProxies can create instances.
- */
- IBeanProxy createBeanProxy(IDEBeanTypeProxy aTypeProxy) {
-
- Class beanType = aTypeProxy.fClass;
-
- // If the beanType is a primitive, the creation will fail because you can't
- // create a primitive without a value.
- try {
- return aTypeProxy.newBeanProxy(!(aTypeProxy.isPrimitive()) ? beanType.newInstance() : null);
- } catch (Exception exc) {
- ProxyPlugin.getPlugin().getLogger().log(
- new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", exc)); //$NON-NLS-1$
- return null;
- }
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IBeanProxyFactory#terminateFactory(boolean)
- */
- public void terminateFactory(boolean wait) {
- // Nothing really to do here - more applicable to remote proxy factories
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jem.internal.proxy.core.IStandardBeanProxyFactory#createExpression()
- */
- public IExpression createExpression() {
- return new IDEExpression(this.fRegistry);
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.jem.internal.proxy.core.IStandardBeanProxyFactory#createBeanProxyFrom(java.lang.String)
- */
- public IBeanProxy createBeanProxyFrom(String initializationString) throws ThrowableProxy {
- if (initializationString.equals("null")) //$NON-NLS-1$
- return null; // Value is initialized as null.
- // We have to evaluate the result of the initializationString
- try {
- ClassLoader pluginClassLoader = fRegistry.getPluginClassLoader();
- InitializationStringParser parser = InitializationStringParser.createParser(initializationString, pluginClassLoader);
- Object newValue = parser.evaluate();
- if (newValue != null) {
- return fRegistry.getBeanProxy(parser.getExpectedType(), newValue);
- } else
- return null;
- } catch (Exception exc) {
- ProxyPlugin.getPlugin().getLogger().log(
- new Status(IStatus.WARNING, ProxyPlugin.getPlugin().getBundle().getSymbolicName(), 0, "", exc)); //$NON-NLS-1$
- return null;
- }
- }
-
- public IBeanProxy getIVMServerProxy() {
- return ivmServerProxy;
- }
-
-}

Back to the top