/******************************************************************************* * 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.awt; /* */ import org.eclipse.jem.internal.proxy.core.*; /** * Standard AWT Constants * * Use the static accessor method (getConstants()) to get the appropriate * constants instance for the registry. This is done so that until the * the constants are needed, they aren't registered. * * NOTE: Since everything in here just proxies, there is * no need to have them separated by VM. That is why * this in the Proxy package. * * This is final because this can't be extended. This specific one * will be registered with the factory for this key. Any extensions * must be done in their own constants and registry key. * * Creation date: (4/7/00 4:47:48 PM) * @author: Administrator */ public final class JavaStandardAwtBeanConstants { public static final Object REGISTRY_KEY = new Object(); final boolean AWTLoaded; // AWT may not be available. So non-ui JVM's don't have AWT. final boolean AWTRegistered; // AWT was registered to be used in this VM. It may be registered, but still not available. final IFieldProxy dimensionHeightProxy; final IFieldProxy dimensionWidthProxy; final IMethodProxy setDimensionSizeHWProxy; final IMethodProxy setDimensionSizeDProxy; final IFieldProxy pointXProxy; final IFieldProxy pointYProxy; final IMethodProxy setPointLocationXYProxy; final IMethodProxy setPointLocationPProxy; final IFieldProxy rectangleHeightProxy; final IFieldProxy rectangleWidthProxy; final IFieldProxy rectangleXProxy; final IFieldProxy rectangleYProxy; final IMethodProxy setRectangleSizeHWProxy; final IMethodProxy setRectangleSizeDProxy; final IMethodProxy setRectangleLocationXYProxy; final IMethodProxy setRectangleLocationPProxy; final IMethodProxy setRectangleBoundsXYHWProxy; final IMethodProxy setRectangleBoundsRProxy; /** * Get the constants instance for the specified registry. */ public static JavaStandardAwtBeanConstants getConstants(ProxyFactoryRegistry registry) { JavaStandardAwtBeanConstants constants = (JavaStandardAwtBeanConstants) registry.getConstants(REGISTRY_KEY); if (constants == null) registry.registerConstants(REGISTRY_KEY, constants = new JavaStandardAwtBeanConstants(registry, registry.getBeanProxyFactoryExtension(IStandardAwtBeanProxyFactory.REGISTRY_KEY) != null)); return constants; } public JavaStandardAwtBeanConstants(ProxyFactoryRegistry registry, boolean isRegistered) { super(); AWTRegistered = isRegistered; if (!AWTRegistered) { AWTLoaded = false; dimensionHeightProxy = dimensionWidthProxy = pointXProxy = pointYProxy = rectangleHeightProxy = rectangleWidthProxy = rectangleXProxy = rectangleYProxy = null; setDimensionSizeHWProxy = setDimensionSizeDProxy = setPointLocationXYProxy = setPointLocationPProxy = setRectangleSizeHWProxy = setRectangleSizeDProxy = setRectangleLocationXYProxy = setRectangleLocationPProxy = setRectangleBoundsXYHWProxy = setRectangleBoundsRProxy = null; return; } IStandardBeanTypeProxyFactory typeFactory = registry.getBeanTypeProxyFactory(); IBeanTypeProxy dimensionTypeProxy = typeFactory.getBeanTypeProxy("java.awt.Dimension");//$NON-NLS-1$ if (dimensionTypeProxy != null) { // AWT is available. AWTLoaded = true; IBeanTypeProxy intTypeProxy = typeFactory.getBeanTypeProxy("int"); //$NON-NLS-1$ dimensionHeightProxy = dimensionTypeProxy.getFieldProxy("height");//$NON-NLS-1$ dimensionWidthProxy = dimensionTypeProxy.getFieldProxy("width");//$NON-NLS-1$ setDimensionSizeHWProxy = dimensionTypeProxy.getMethodProxy("setSize", new IBeanTypeProxy[] {intTypeProxy, intTypeProxy}); //$NON-NLS-1$ setDimensionSizeDProxy = dimensionTypeProxy.getMethodProxy("setSize", new IBeanTypeProxy[] {dimensionTypeProxy}); //$NON-NLS-1$ IBeanTypeProxy pointTypeProxy = typeFactory.getBeanTypeProxy("java.awt.Point");//$NON-NLS-1$ pointXProxy = pointTypeProxy.getFieldProxy("x");//$NON-NLS-1$ pointYProxy = pointTypeProxy.getFieldProxy("y"); //$NON-NLS-1$ setPointLocationXYProxy = pointTypeProxy.getMethodProxy("setLocation", new IBeanTypeProxy[] {intTypeProxy, intTypeProxy}); //$NON-NLS-1$ setPointLocationPProxy = pointTypeProxy.getMethodProxy("setLocation", new IBeanTypeProxy[] {pointTypeProxy}); //$NON-NLS-1$ IBeanTypeProxy rectangleTypeProxy = typeFactory.getBeanTypeProxy("java.awt.Rectangle");//$NON-NLS-1$ rectangleHeightProxy = rectangleTypeProxy.getFieldProxy("height");//$NON-NLS-1$ rectangleWidthProxy = rectangleTypeProxy.getFieldProxy("width");//$NON-NLS-1$ rectangleXProxy = rectangleTypeProxy.getFieldProxy("x");//$NON-NLS-1$ rectangleYProxy = rectangleTypeProxy.getFieldProxy("y");//$NON-NLS-1$ setRectangleSizeHWProxy = rectangleTypeProxy.getMethodProxy("setSize", new IBeanTypeProxy[] {intTypeProxy, intTypeProxy}); //$NON-NLS-1$ setRectangleSizeDProxy = rectangleTypeProxy.getMethodProxy("setSize", new IBeanTypeProxy[] {dimensionTypeProxy}); //$NON-NLS-1$ setRectangleLocationXYProxy = rectangleTypeProxy.getMethodProxy("setLocation", new IBeanTypeProxy[] {intTypeProxy, intTypeProxy}); //$NON-NLS-1$ setRectangleLocationPProxy = rectangleTypeProxy.getMethodProxy("setLocation", new IBeanTypeProxy[] {pointTypeProxy}); //$NON-NLS-1$ setRectangleBoundsXYHWProxy = rectangleTypeProxy.getMethodProxy("setBounds", new IBeanTypeProxy[] {intTypeProxy, intTypeProxy, intTypeProxy, intTypeProxy}); //$NON-NLS-1$ setRectangleBoundsRProxy = rectangleTypeProxy.getMethodProxy("setBounds", new IBeanTypeProxy[] {rectangleTypeProxy}); //$NON-NLS-1$ } else { AWTLoaded = false; dimensionHeightProxy = dimensionWidthProxy = pointXProxy = pointYProxy = rectangleHeightProxy = rectangleWidthProxy = rectangleXProxy = rectangleYProxy = null; setDimensionSizeHWProxy = setDimensionSizeDProxy = setPointLocationXYProxy = setPointLocationPProxy = setRectangleSizeHWProxy = setRectangleSizeDProxy = setRectangleLocationXYProxy = setRectangleLocationPProxy = setRectangleBoundsXYHWProxy = setRectangleBoundsRProxy = null; } } /** * Answer if AWT is available. */ public boolean isAWTAvailable() { return AWTLoaded; } /** * Answer if AWT was registered to be available. */ public boolean isAWTRegistered() { return AWTRegistered; } /** * getDimensionHeightFieldProxy method comment. */ public IFieldProxy getDimensionHeightFieldProxy() { return dimensionHeightProxy; } /** * getDimensionWidthProxy method comment. */ public IFieldProxy getDimensionWidthFieldProxy() { return dimensionWidthProxy; } /** * getDimensionSetSizeWHProxy method comment. */ public IMethodProxy getDimensionSetSizeHWProxy() { return setDimensionSizeHWProxy; } /** * getDimensionSetSizeDProxy method comment. */ public IMethodProxy getDimensionSetSizeDProxy() { return setDimensionSizeDProxy; } /** * getPointXFieldProxy method comment. */ public IFieldProxy getPointXFieldProxy() { return pointXProxy; } /** * getPointYFieldProxy method comment. */ public IFieldProxy getPointYFieldProxy() { return pointYProxy; } /** * getPointSetLocationXYProxy method comment. */ public IMethodProxy getPointSetLocationXYProxy() { return setPointLocationXYProxy; } /** * getPointSetLocationPProxy method comment. */ public IMethodProxy getPointSetLocationPProxy() { return setPointLocationPProxy; } /** * getRectangleHeightFieldProxy method comment. */ public IFieldProxy getRectangleHeightFieldProxy() { return rectangleHeightProxy; } /** * getRectangleWidthFieldProxy method comment. */ public IFieldProxy getRectangleWidthFieldProxy() { return rectangleWidthProxy; } /** * getRectangleXFieldProxy method comment. */ public IFieldProxy getRectangleXFieldProxy() { return rectangleXProxy; } /** * getRectangleYFieldProxy method comment. */ public IFieldProxy getRectangleYFieldProxy() { return rectangleYProxy; } /** * getRectangleSetSizeWHProxy method comment. */ public IMethodProxy getRectangleSetSizeHWProxy() { return setRectangleSizeHWProxy; } /** * getRectangleSetSizeDProxy method comment. */ public IMethodProxy getRectangleSetSizeDProxy() { return setRectangleSizeDProxy; } /** * getRectangleSetLocationXYProxy method comment. */ public IMethodProxy getRectangleSetLocationXYProxy() { return setRectangleLocationXYProxy; } /** * getRectangleSetLocationPProxy method comment. */ public IMethodProxy getRectangleSetLocationPProxy() { return setRectangleLocationPProxy; } /** * getRectangleSetBoundsXYHWProxy method comment. */ public IMethodProxy getRectangleSetBoundsXYHWProxy() { return setRectangleBoundsXYHWProxy; } /** * getRectangleSetBoundsRProxy method comment. */ public IMethodProxy getRectangleSetBoundsRProxy() { return setRectangleBoundsRProxy; } }